Function at 0x44d200
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x48
mov eax, dword [esp + 0x4c]
push ebx
push ebp
push esi
mov ecx, dword [eax + 0x1c]
mov ebp, dword [eax]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x5c]
push edi
mov edi, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
xor edx, edx
shl ecx, 4
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], edi
lea ebx, [ecx + eax + 0x30]
mov eax, dword [eax + 8]
xor ecx, ecx
mov cl, byte [ebx + 0x34]
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [eax + esi*8 + 0x20]
mov dword [esp + 0x10], ecx
lea eax, [eax + esi*8 + 8]
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov esi, eax
shr esi, 0x19
and esi, 1
test eax, 0x800000
mov dword [esp + 0x2c], esi
je 0x44d275
mov al, byte [esp + 0x64]
mov dword [esp + 0x50], 1
test al, 0x40
je 0x44d279
mov dword [esp + 0x50], edx
push edi
call fcn.00433430
push edi
mov dword [esp + 0x38], eax
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x24], eax
call fcn.00433430
mov dword [esp + 0x4c], eax
mov dword [ebx + 0x2c], eax
mov al, byte [ebx + 0x34]
add esp, 8
test al, al
jbe 0x44d2c4
mov edx, dword [esp + 0x28]
test byte [edx + 0x15], 8
je 0x44d2c4
mov edx, dword [ebp + 0x48]
inc edx
mov eax, edx
mov dword [ebp + 0x48], edx
push eax
push 0
push 7
push edi
mov dword [ebx + 0x18], eax
call fcn.00432990
add esp, 0x10
mov eax, dword [ebx]
test eax, 0x8000000
je 0x44d46e
mov eax, dword [ebx + 0x10]
push ebp
mov dword [esp + 0x54], eax
mov esi, dword [eax]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 4]
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
call fcn.00435590
lea eax, [esi + 2]
push eax
push ebp
mov dword [esp + 0x58], eax
call fcn.00435ee0
add esp, 0xc
cmp esi, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 1
jl 0x44d37f
mov ecx, dword [esp + 0x2c]
xor esi, esi
test ecx, ecx
jle 0x44d36a
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x64]
cmp dword [eax], edx
je 0x44d334
inc esi
add eax, 8
cmp esi, ecx
jl 0x44d326
jmp 0x44d36a
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
lea edx, [eax + ecx + 1]
mov ecx, dword [esp + 0x40]
lea eax, [esi + esi*2]
push edx
mov eax, dword [ecx + eax*4 + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ecx + edx*8]
mov eax, dword [edx + 0xc]
push eax
push ebp
call fcn.004336f0
mov ecx, dword [esp + 0x38]
add esp, 0xc
cmp esi, ecx
je 0x44d37f
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x2c]
inc eax
cmp eax, ecx
mov dword [esp + 0x64], eax
jle 0x44d314
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
push ecx
mov edx, dword [esi + 0x14]
push edx
push 7
push edi
call fcn.00432990
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
inc eax
dec ecx
push eax
push ecx
push 7
push edi
call fcn.00432990
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
neg edx
mov ecx, dword [esp + 0x80]
sbb edx, edx
and edx, 0xfffffff7
add edx, 0xfffffffe
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x38]
push ecx
push edx
push eax
push 0x80
push edi
call fcn.00431fc0
mov eax, dword [esp + 0x68]
add esp, 0x3c
test eax, eax
mov dword [esi + 0x1c], 0
jle 0x44d43a
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
add edx, 4
mov dword [esp + 0x40], eax
lea esi, [ecx + 8]
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x64]
cmp byte [eax], 0
je 0x44d421
mov eax, dword [esi]
mov edx, dword [esp + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x1c]
lea ecx, [eax + ecx*8]
push ecx
push ebx
call fcn.0044e170
add esp, 8
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
add edx, 8
add esi, 0xc
dec eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x40], eax
jne 0x44d3ff
mov edx, dword [esp + 0x10]
push edi
mov byte [ebx + 0x35], 0x83
mov dword [ebx + 0x38], edx
call fcn.004334b0
mov ecx, dword [esp + 0x64]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x50]
push eax
push ecx
push ebp
call fcn.00435f10
push 1
push ebp
call fcn.004355a0
add esp, 0x18
jmp 0x44dee3
test ah, 0x10
je 0x44d4ea
push ebp
call fcn.004329d0
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [esp + 0x6c]
push 0
push 3
push edx
mov edx, dword [esp + 0x24]
push eax
push 0xffffffffffffffff
push ecx
push edx
mov dword [esp + 0x58], esi
call fcn.0044c8d0
push esi
push ebx
push eax
push ebp
call fcn.0044e240
mov esi, eax
mov eax, dword [ebx + 0x28]
push eax
push esi
push 0x15
push edi
mov dword [esp + 0x64], eax
call fcn.00432990
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x50]
add esp, 0x40
push esi
push eax
push ecx
push 0x34
push edi
call fcn.00432000
mov edx, dword [esp + 0x24]
push esi
push 0xffffffffffffffff
push edx
push ebp
call fcn.00435670
add esp, 0x24
mov byte [ebx + 0x35], 0x89
jmp 0x44dee3
test ah, 0x20
je 0x44d6fd
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x10]
push 0
push 0x24
push eax
mov eax, dword [esp + 0x20]
push ecx
push 0xffffffffffffffff
push edx
push eax
mov dword [esp + 0x44], 0x89
mov dword [esp + 0x5c], 0
call fcn.0044c8d0
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push 0
push 0x18
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push 0xffffffffffffffff
push eax
push ecx
call fcn.0044c8d0
add esp, 0x38
mov dword [esp + 0x60], eax
test esi, esi
je 0x44d569
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x44d5e9
mov eax, dword [eax]
lea ecx, [esp + 0x48]
push ecx
mov byte [esp + 0x30], 0x2f
mov edx, dword [eax + 0xc]
mov byte [esp + 0x31], 0x2d
push edx
push ebp
mov byte [esp + 0x3a], 0x2c
mov byte [esp + 0x3b], 0x2e
mov dword [esp + 0x5c], eax
call fcn.004357b0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
push eax
mov eax, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x64]
xor edx, edx
push ecx
mov dl, byte [eax]
xor ecx, ecx
mov cl, byte [esp + edx - 9]
push ecx
push edi
call fcn.00432000
mov edx, dword [esp + 0x6c]
push 1
push edx
push ebp
call fcn.00435790
mov eax, dword [esp + 0x74]
push eax
push ebp
call fcn.00432a00
mov ecx, dword [esp + 0x98]
push ecx
push ebx
call fcn.0044e170
add esp, 0x3c
jmp 0x44d609
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov ecx, esi
push edx
neg ecx
sbb ecx, ecx
push eax
and ecx, 0xfffffffe
add ecx, 0x41
push ecx
push edi
call fcn.00432990
add esp, 0x10
mov eax, dword [esp + 0x60]
test eax, eax
je 0x44d66b
mov ecx, dword [ebp + 0x48]
mov edx, eax
inc ecx
mov eax, dword [edx]
mov dword [ebp + 0x48], ecx
mov dword [esp + 0x50], eax
push ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x44], ecx
push eax
push ebp
call fcn.004336f0
mov ecx, dword [esp + 0x5c]
add esp, 0xc
mov al, byte [ecx]
cmp al, 0x4f
je 0x44d64e
cmp al, 0x4d
je 0x44d64e
mov eax, esi
neg eax
sbb eax, eax
and eax, 2
add eax, 0x4d
jmp 0x44d659
mov eax, esi
neg eax
sbb eax, eax
and al, 0xfe
add eax, 0x50
mov edx, dword [esp + 0x60]
mov dword [esp + 0x28], eax
push edx
push ebx
call fcn.0044e170
add esp, 8
push edi
call fcn.004334b0
mov edx, dword [esp + 0x14]
add esp, 4
test esi, esi
sete cl
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x64]
add ecx, 0x42
mov dword [ebx + 0x38], edx
test eax, eax
mov byte [ebx + 0x35], cl
jne 0x44d69d
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x44d69d
mov byte [ebx + 0x36], 1
cmp dword [esp + 0x28], 0x89
je 0x44dee3
push ebp
call fcn.004329d0
mov edi, dword [esp + 0x38]
mov esi, eax
mov eax, dword [esp + 0x14]
push esi
push eax
push 0x3d
push edi
mov dword [esp + 0x4c], esi
call fcn.00432990
mov ecx, dword [esp + 0x24]
push esi
push 0xffffffffffffffff
push ecx
push ebp
call fcn.00435670
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x4c]
push esi
push edx
push eax
push ecx
push edi
call fcn.00432000
push 0x6b
push edi
call fcn.00432ec0
add esp, 0x40
jmp 0x44dee3
test eax, 0x30000
je 0x44dbb5
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x20]
mov esi, dword [ebx + 4]
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 8]
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x28], eax
mov edx, dword [edx + esi*4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], edx
mov dl, byte [esp + 0x64]
test dl, 1
mov dword [esp + 0x20], ecx
je 0x44d750
test dword [ebx], 0x1000000
je 0x44d750
cmp dword [ecx + 4], esi
jle 0x44d750
mov eax, 1
mov dword [esp + 0x48], eax
test dword [ebx], 0x100000
je 0x44d789
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x44]
push 0x18
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
call fcn.0044c8d0
mov dword [esp + 0x7c], eax
add esp, 0x1c
mov eax, 1
test dword [ebx], 0x200000
je 0x44d7c2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x44]
push 0x24
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
call fcn.0044c8d0
mov dword [esp + 0x44], eax
add esp, 0x1c
mov eax, 1
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x70]
push edx
push eax
push ecx
push ebx
push ebp
call fcn.0044e360
mov edx, dword [esp + 0x34]
mov dword [esp + 0x80], eax
mov eax, dword [ebp]
push edx
push eax
call fcn.004199d0
mov edx, dword [esp + 0x44]
mov ecx, dword [ebx + 0x28]
mov dword [esp + 0x40], eax
add esp, 0x24
mov eax, dword [edx + 4]
mov dword [esp + 0x24], ecx
cmp esi, eax
jge 0x44d834
mov eax, edx
xor edx, edx
mov ecx, dword [eax + 0x28]
cmp byte [ecx + esi], 0
mov eax, dword [esp + 0x2c]
sete dl
cmp eax, edx
jne 0x44d834
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x28], eax
jmp 0x44d83c
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x28]
xor edx, edx
cmp eax, edx
je 0x44d84c
test byte [eax + 0x10], 0x28
mov dword [esp + 0x3c], edx
je 0x44d854
mov dword [esp + 0x3c], 1
cmp ecx, edx
je 0x44d862
test byte [ecx + 0x10], 0x28
mov dword [esp + 0x4c], edx
je 0x44d86a
mov dword [esp + 0x4c], 1
cmp eax, edx
jne 0x44d876
cmp esi, edx
mov dword [esp + 0x40], edx
jle 0x44d87e
mov dword [esp + 0x40], 1
cmp eax, edx
mov dword [esp + 0x20], esi
je 0x44d90f
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
lea ecx, [edx + esi]
push ecx
push eax
push ebp
mov dword [esp + 0x2c], eax
call fcn.004336f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
push eax
lea eax, [ecx + esi]
push eax
push edx
push edi
call fcn.0044e020
mov eax, dword [esp + 0x34]
add esp, 0x1c
test eax, eax
je 0x44d906
mov al, byte [eax + esi]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.00434490
add esp, 8
cmp al, 0x62
jne 0x44d8e5
mov edx, dword [esp + 0x18]
mov byte [edx + esi], al
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov cl, byte [eax + esi]
push ecx
push edx
call fcn.0044e090
add esp, 8
test eax, eax
je 0x44d906
mov eax, dword [esp + 0x18]
mov byte [eax + esi], 0x62
lea ecx, [esi + 1]
mov dword [esp + 0x20], ecx
jmp 0x44d940
cmp dword [esp + 0x48], edx
je 0x44d940
mov edx, dword [esp + 0x64]
add edx, esi
push edx
push 0
push 0xa
push edi
call fcn.00432990
lea eax, [esi + 1]
add esp, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
push ecx
push edx
push eax
push ebp
call fcn.0044e1d0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x5c]
push ecx
lea ecx, [edx + eax*2]
mov eax, dword [esp + 0x4c]
xor edx, edx
mov dl, byte [eax + ecx*2 + 0x4672f8]
push edx
push edi
call fcn.00434f30
mov eax, dword [esp + 0x88]
add esp, 0x28
test eax, eax
mov dword [esp + 0x20], esi
je 0x44da4c
mov ecx, eax
push 1
mov edx, dword [ecx]
mov ecx, dword [esp + 0x68]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x24], eax
lea eax, [ecx + esi]
push eax
push ebp
call fcn.00435500
mov edx, dword [esp + 0x70]
lea eax, [edx + esi]
push eax
mov eax, dword [esp + 0x30]
push eax
push ebp
call fcn.004336f0
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x3c]
push ecx
lea eax, [edx + esi]
push eax
mov eax, dword [esp + 0x40]
push eax
push edi
call fcn.0044e020
mov eax, dword [esp + 0x44]
add esp, 0x28
test eax, eax
je 0x44da2e
mov ecx, eax
mov eax, dword [esp + 0x20]
mov dl, byte [ecx + esi]
push edx
push eax
call fcn.00434490
add esp, 8
cmp al, 0x62
jne 0x44da0d
mov ecx, dword [esp + 0x1c]
mov byte [ecx + esi], al
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov al, byte [edx + esi]
push eax
push ecx
call fcn.0044e090
add esp, 8
test eax, eax
je 0x44da2e
mov edx, dword [esp + 0x1c]
mov byte [edx + esi], 0x62
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
lea eax, [esi + 1]
push ecx
push eax
push edx
push ebp
call fcn.0044e1d0
lea eax, [esi + 1]
add esp, 0x10
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp]
push eax
push ecx
call fcn.00408e50
mov edx, dword [esp + 0x24]
mov eax, dword [ebp]
push edx
push eax
call fcn.00408e50
push edi
call fcn.004334b0
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x74]
add esp, 0x14
test eax, eax
jne 0x44da84
test esi, esi
jne 0x44da84
xor eax, eax
jmp 0x44da89
mov eax, 1
mov ecx, dword [esp + 0x2c]
inc ecx
imul ecx, eax
xor eax, eax
mov al, byte [ecx + 0x467300]
cmp eax, 0x89
je 0x44dad2
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push ecx
push eax
push edi
call fcn.00434f30
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x64]
cmp eax, edx
setne al
push eax
push edi
call fcn.00432ec0
add esp, 0x20
push ebp
call fcn.004329d0
mov dword [esp + 0x68], eax
mov eax, dword [ebx]
add esp, 4
test eax, 0x300000
je 0x44db10
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x30]
push ecx
push esi
push edx
push 0x1c
push edi
call fcn.00432000
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push 0x49
push edi
call fcn.00432990
add esp, 0x24
mov edx, dword [esp + 0x64]
push edx
push ebp
call fcn.00432a00
mov eax, dword [esp + 0x30]
push eax
push ebx
call fcn.0044e170
mov ecx, dword [esp + 0x70]
push ecx
push ebx
call fcn.0044e170
mov eax, dword [esp + 0x68]
add esp, 0x18
test eax, eax
jne 0x44db75
push ebp
call fcn.004329d0
mov edx, dword [esp + 0x34]
mov esi, eax
push esi
push edx
push 0x48
push edi
mov dword [esp + 0x4c], esi
call fcn.00432990
mov eax, dword [esp + 0x24]
push esi
push 0xffffffffffffffff
push eax
push ebp
call fcn.00435670
mov ecx, dword [esp + 0x34]
push esi
push ecx
push 0x30
push edi
call fcn.00432990
add esp, 0x34
test dword [ebx], 0x4000000
je 0x44db8d
mov edx, dword [esp + 0x30]
mov byte [ebx + 0x35], 0x89
mov dword [ebx + 0x38], edx
jmp 0x44dee3
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44dba5
mov edx, dword [esp + 0x30]
mov byte [ebx + 0x35], 0x42
mov dword [ebx + 0x38], edx
jmp 0x44dee3
mov edx, dword [esp + 0x30]
mov byte [ebx + 0x35], 0x43
mov dword [ebx + 0x38], edx
jmp 0x44dee3
test eax, 0x10000000
je 0x44deb3
mov ecx, dword [ebp + 0x48]
xor eax, eax
inc ecx
push edi
mov esi, ecx
mov dword [ebp + 0x48], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
call fcn.00433430
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x10]
add esp, 4
mov dword [esp + 0x54], eax
mov dword [esp + 0x1c], 0
mov eax, dword [eax + 0xc]
mov byte [ebx + 0x35], 3
mov dword [esp + 0x2c], eax
mov dword [ebx + 0x38], esi
mov eax, dword [ecx + 0x18]
cmp eax, 1
jle 0x44dcc7
sub eax, dword [esp + 0x60]
dec eax
mov dword [esp + 0x50], eax
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [ebp]
lea edx, [ecx*8 + 0x40]
push edx
push eax
call fcn.004090b0
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
je 0x44e006
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x5c]
inc ecx
mov word [eax + 2], cx
mov word [eax], cx
lea edi, [eax + 8]
mov ecx, 0xe
rep movsd dword es:[edi], dword [esi]
mov edx, dword [edx + 8]
mov ecx, dword [esp + 0x50]
add edx, 8
cmp ecx, 1
jl 0x44dcce
add eax, 0x40
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], eax
lea eax, [ebx + 0x84]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x40]
xor eax, eax
mov edi, dword [esp + 0x3c]
mov al, byte [ecx]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0x50]
lea esi, [edx + ecx*8]
mov ecx, 0xe
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add esi, 0x50
add ecx, 0x38
dec eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], eax
jne 0x44dc85
jmp 0x44dcce
mov edx, dword [ecx + 8]
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x64]
and eax, 8
test ax, ax
mov dword [esp + 0x3c], eax
jne 0x44dd06
mov eax, dword [ebp + 0x48]
mov esi, dword [esp + 0x34]
lea ecx, [eax + 1]
push ecx
push 0
lea eax, [ecx + 1]
push 0xa
push esi
mov dword [esp + 0x58], ecx
mov dword [ebp + 0x48], eax
mov dword [esp + 0x5c], eax
call fcn.00432990
add esp, 0x10
jmp 0x44dd0a
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
push eax
push 0
push 7
push esi
call fcn.00432990
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
add esp, 0x10
mov dword [esp + 0x64], 0
mov eax, dword [ecx + 0x14]
test eax, eax
jle 0x44de4f
xor eax, eax
mov dword [esp + 0x40], eax
mov edi, dword [ecx + 0x1c]
mov ecx, dword [eax + edi + 8]
mov edx, dword [esp + 0x10]
add eax, edi
cmp ecx, edx
je 0x44dd5a
cmp word [eax + 0x10], 0x200
jne 0x44de2c
mov edx, dword [eax]
mov eax, dword [esp + 0x30]
push 0xf0
push 0
push edx
push eax
push ebp
call fcn.00449850
mov edi, eax
add esp, 0x14
test edi, edi
je 0x44de2c
mov edx, dword [esp + 0x60]
xor ecx, ecx
mov cl, byte [ebx + 0x34]
push 0
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [edi + 0x30]
push edx
push eax
push ecx
push ebp
call fcn.0044ce20
add esp, 0x18
cmp word [esp + 0x3c], 0
jne 0x44ddff
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x50], 0xffffffff
mov ecx, dword [edx + 0x14]
dec ecx
cmp eax, ecx
je 0x44ddbf
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [ecx + 0xc]
push eax
push 0xffffffffffffffff
push edx
push ebp
call fcn.004355f0
mov ecx, dword [esp + 0x64]
add esp, 0x14
push ecx
push eax
push esi
call fcn.004334b0
mov edx, dword [esp + 0x54]
add esp, 4
add eax, 2
push eax
push edx
push 0x6b
push esi
call fcn.00434f30
add esp, 0x18
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push 2
push esi
call fcn.00432990
mov al, byte [edi + 7]
add esp, 0x10
test al, al
je 0x44de23
mov dword [esp + 0x1c], 1
push edi
call fcn.0044e650
add esp, 4
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
inc edx
mov edi, dword [ecx + 0x14]
add eax, 0x28
cmp edx, edi
mov dword [esp + 0x64], edx
mov dword [esp + 0x40], eax
jl 0x44dd3d
push esi
call fcn.004334b0
mov edx, dword [esp + 0x1c]
push eax
push edx
push esi
call fcn.00427ce0
mov eax, dword [ebx + 0x24]
push eax
push 0
push 1
push esi
call fcn.00432990
mov ecx, dword [esp + 0x40]
push ecx
push esi
call fcn.00433490
mov edx, dword [esp + 0x84]
add esp, 0x28
cmp dword [edx + 0x18], 1
jle 0x44de9b
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
push eax
push ecx
call fcn.00408e50
add esp, 8
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x44dee3
mov edx, dword [esp + 0x54]
push edx
push ebx
call fcn.0044e170
add esp, 8
jmp 0x44dee3
mov al, byte [esi + 0x467304]
mov ecx, dword [esp + 0x30]
mov byte [ebx + 0x35], al
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [ebx + 0x38], eax
mov dl, byte [esi + 0x467308]
push ecx
push eax
push edx
push edi
call fcn.00432990
add esp, 0x10
inc eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x36], 1
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [edi + 4]
push ecx
call fcn.0044a4e0
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
not eax
not edx
and ecx, eax
mov eax, dword [edi + 0x14]
and esi, edx
add esp, 8
mov dword [esp + 0x6c], esi
mov esi, dword [edi + 0x1c]
test eax, eax
mov dword [esp + 0x68], ecx
jle 0x44df7f
mov dword [esp + 0x64], eax
test byte [esi + 0x12], 6
jne 0x44df71
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
and eax, ecx
mov ecx, dword [esi + 0x24]
and ecx, edx
or eax, ecx
je 0x44df44
mov edx, dword [esp + 0x5c]
mov byte [edx + 7], 1
jmp 0x44df71
mov ecx, dword [ebx + 0x18]
mov eax, dword [esi]
test ecx, ecx
je 0x44df58
mov cl, byte [eax + 2]
and cl, 1
cmp cl, 1
jne 0x44df71
mov edx, dword [esp + 0x44]
push 8
push edx
push eax
push ebp
call fcn.00435870
mov al, byte [esi + 0x12]
add esp, 0x10
or al, 4
mov byte [esi + 0x12], al
mov eax, dword [esp + 0x64]
add esi, 0x28
dec eax
mov dword [esp + 0x64], eax
jne 0x44df1e
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x44dff8
mov esi, dword [esp + 0x34]
push esi
call fcn.004334b0
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x18]
push eax
push 1
push 7
push esi
call fcn.00432990
push ebp
call fcn.004440a0
mov eax, dword [edi + 0x14]
mov esi, dword [edi + 0x1c]
add esp, 0x18
xor ebx, ebx
test eax, eax
jle 0x44dff8
test byte [esi + 0x12], 6
jne 0x44dfed
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
and eax, ecx
mov ecx, dword [esi + 0x24]
and ecx, edx
or eax, ecx
jne 0x44dfed
mov ecx, dword [esp + 0x44]
mov edx, dword [esi]
push 8
push ecx
push edx
push ebp
call fcn.00435870
mov al, byte [esi + 0x12]
add esp, 0x10
or al, 4
mov byte [esi + 0x12], al
mov eax, dword [edi + 0x14]
inc ebx
add esi, 0x28
cmp ebx, eax
jl 0x44dfb6
mov eax, dword [esp + 0x38]
push eax
push ebp
call fcn.00432a00
add esp, 8
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret