Function at 0x443830
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
sub esp, 0x2c
mov eax, dword [ecx + 0x1793c]
cmp eax, 2
je 0x444a1c
test eax, eax
je 0x4448b8
mov eax, dword [edi + 0x178b4]
lea esi, [edi + 0x178b4]
lea ebp, [edi + 0x74]
mov dword [esp + 0x10], esi
and eax, 3
cmp eax, 1
jne 0x443994
jmp 0x443c75
mov eax, dword [edi + 0x84]
test eax, eax
jne 0x443947
mov edx, dword [edi + 0x88]
mov eax, dword [edi + 0x8c]
cmp edx, eax
je 0x4447fe
cmp edx, eax
jae 0x444842
mov ebx, dword [edi + 0x178a8]
lea ecx, [edx + 1]
mov dword [edi + 0x88], ecx
movzx edx, byte [ebx + edx]
mov ebx, edx
mov dword [edi + 0x84], edx
shl ebx, 8
cmp eax, ecx
je 0x4447bd
cmp eax, ecx
jbe 0x444a4b
mov esi, dword [edi + 0x178a8]
lea edx, [ecx + 1]
mov dword [edi + 0x88], edx
movzx ecx, byte [esi + ecx]
or ebx, ecx
mov esi, ebx
shl esi, 8
cmp edx, eax
mov dword [edi + 0x84], ebx
je 0x44475a
cmp eax, edx
jbe 0x44479e
mov ebx, dword [edi + 0x178a8]
lea ecx, [edx + 1]
mov dword [edi + 0x88], ecx
movzx edx, byte [ebx + edx]
or esi, edx
mov ebx, esi
mov dword [edi + 0x84], esi
shl ebx, 8
cmp eax, ecx
je 0x444719
cmp eax, ecx
jbe 0x4447ae
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
mov eax, dword [edi + 0x178a8]
movzx eax, byte [eax + ecx]
or ebx, eax
mov dword [edi + 0x84], ebx
mov dword [esp], 0
mov ecx, ebp
call fcn.0042f740
sub esp, 4
test eax, eax
je 0x443ab3
mov eax, dword [edi + 0x84]
test eax, eax
jne 0x444703
mov ebx, 0xffffffff
mov ecx, dword [esp + 0x10]
mov dword [esp], ebx
call fcn.0043ee90
mov eax, dword [edi + 0x178b4]
sub esp, 4
and eax, 3
cmp eax, 1
je 0x443c75
mov eax, dword [edi + 0x898]
mov eax, dword [eax + 8]
cmp byte [eax + 6], 0
jne 0x443874
mov eax, dword [edi + 0x84]
test eax, eax
jne 0x443bd1
mov edx, dword [edi + 0x88]
mov eax, dword [edi + 0x8c]
cmp edx, eax
je 0x444360
cmp edx, eax
jae 0x4443a4
mov ebx, dword [edi + 0x178a8]
lea ecx, [edx + 1]
mov dword [edi + 0x88], ecx
movzx edx, byte [ebx + edx]
mov ebx, edx
mov dword [edi + 0x84], edx
shl ebx, 8
cmp eax, ecx
je 0x444438
cmp ecx, eax
jae 0x444a33
mov esi, dword [edi + 0x178a8]
lea edx, [ecx + 1]
mov dword [edi + 0x88], edx
movzx ecx, byte [esi + ecx]
or ecx, ebx
mov ebx, ecx
shl ebx, 8
cmp edx, eax
mov dword [edi + 0x84], ecx
je 0x4443f2
cmp eax, edx
jbe 0x4443cb
mov esi, dword [edi + 0x178a8]
lea ecx, [edx + 1]
mov dword [edi + 0x88], ecx
movzx edx, byte [esi + edx]
or ebx, edx
mov esi, ebx
mov dword [edi + 0x84], ebx
shl esi, 8
cmp eax, ecx
je 0x443c34
cmp ecx, eax
jae 0x444a44
mov ebx, dword [edi + 0x178a8]
lea edx, [ecx + 1]
mov dword [edi + 0x88], edx
movzx ecx, byte [ebx + ecx]
or esi, ecx
test esi, esi
mov dword [edi + 0x84], esi
je 0x44396e
sub esi, 1
cmp edx, eax
mov dword [edi + 0x84], esi
je 0x443bee
cmp edx, eax
jae 0x44396e
lea eax, [edx + 1]
mov dword [edi + 0x88], eax
mov eax, dword [edi + 0x178a8]
movzx ebx, byte [eax + edx]
jmp 0x443973
lea esi, [edi + 0x90]
mov ebx, 1
jmp 0x443afa
add eax, 0xa
mov dword [esp], esi
call eax
lea eax, [eax + eax + 1]
mov ecx, ebp
mov dword [esp], eax
call fcn.0042f740
lea ebx, [eax + ebx*2]
sub esp, 4
mov ecx, esi
mov eax, ebx
and eax, 1
mov dword [esp], eax
call fcn.0043b6f0
sub esp, 4
cmp ebx, 0xff
jg 0x443bc6
mov eax, dword [edi + 0x178a0]
test eax, eax
jne 0x443ac0
mov eax, dword [edi + 0x898]
imul edx, dword [eax + 0x14], 0x64
mov eax, dword [edi + 0x178a4]
add edx, 0x1000
and edx, 0xfffff000
test eax, eax
je 0x443b38
mov dword [edi + 0x178a0], 0
mov dword [edi + 0x178a4], 0
test edx, edx
jle 0x443b7c
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x3000
mov dword [esp + 4], edx
mov dword [esp + 0x14], edx
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
sub esp, 0x10
test eax, eax
mov dword [edi + 0x178a0], eax
je 0x4449c7
mov edx, dword [esp + 0x14]
mov dword [edi + 0x178a4], edx
mov ecx, esi
call fcn.00435830
mov edx, eax
mov eax, dword [edi + 0x178a4]
cmp edx, eax
jg 0x444514
cmp edx, 0xe
mov eax, dword [edi + 0x178a0]
jle 0x443baf
test eax, eax
je 0x443baf
cmp dword [edi + 0x178a4], 0xe
jg 0x443ac0
mov dword [esp], 0x4fb70c
call fcn.00402a80
mov eax, dword [edi + 0x178a0]
jmp 0x443ac0
sub ebx, 0x100
jmp 0x443973
lea esi, [eax - 1]
mov edx, dword [edi + 0x88]
mov eax, dword [edi + 0x8c]
mov dword [edi + 0x84], esi
cmp edx, eax
jne 0x443a93
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x44486f
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x443a93
mov esi, 0xffffff00
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x4448a1
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov ecx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x443a57
mov eax, dword [esp + 0x40]
test eax, eax
je 0x443efb
lea eax, [edi + 0x74]
mov dword [esp + 0x1c], eax
lea eax, [edi + 0x178b4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x898]
mov eax, dword [eax + 8]
cmp byte [eax + 6], 0
je 0x443dd0
mov ecx, dword [edi + 0x84]
test ecx, ecx
jne 0x443d78
mov ecx, dword [edi + 0x88]
mov eax, dword [edi + 0x8c]
cmp eax, ecx
je 0x4446ae
cmp eax, ecx
jbe 0x4446f2
mov ebx, dword [edi + 0x178a8]
lea edx, [ecx + 1]
mov dword [edi + 0x88], edx
movzx ecx, byte [ebx + ecx]
mov ebx, ecx
shl ebx, 8
cmp eax, edx
mov dword [edi + 0x84], ecx
je 0x4445f2
cmp edx, eax
jae 0x444636
mov esi, dword [edi + 0x178a8]
lea ecx, [edx + 1]
mov dword [edi + 0x88], ecx
movzx edx, byte [esi + edx]
or ebx, edx
mov esi, ebx
mov dword [edi + 0x84], ebx
shl esi, 8
cmp eax, ecx
je 0x444650
cmp ecx, eax
jae 0x444694
mov ebx, dword [edi + 0x178a8]
lea edx, [ecx + 1]
mov dword [edi + 0x88], edx
movzx ecx, byte [ebx + ecx]
or esi, ecx
mov ebx, esi
mov dword [edi + 0x84], esi
shl ebx, 8
cmp edx, eax
je 0x4445b1
cmp edx, eax
jae 0x4446a4
lea eax, [edx + 1]
mov dword [edi + 0x88], eax
mov eax, dword [edi + 0x178a8]
movzx eax, byte [eax + edx]
or ebx, eax
mov dword [edi + 0x84], ebx
mov ecx, dword [esp + 0x1c]
mov dword [esp], 0
call fcn.0042f740
sub esp, 4
test eax, eax
je 0x443f0a
mov edx, dword [edi + 0x84]
test edx, edx
jne 0x444479
mov ecx, dword [esp + 0x18]
mov dword [esp], 0xffffffff
call fcn.0043ee90
sub esp, 4
mov dword [edi + 0x17938], 4
xor eax, eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [edi + 0x84]
test eax, eax
jne 0x44418b
mov edx, dword [edi + 0x88]
mov eax, dword [edi + 0x8c]
cmp edx, eax
je 0x44422f
cmp eax, edx
jbe 0x444273
mov ebx, dword [edi + 0x178a8]
lea ecx, [edx + 1]
mov dword [edi + 0x88], ecx
movzx edx, byte [ebx + edx]
mov ebx, edx
mov dword [edi + 0x84], edx
shl ebx, 8
cmp eax, ecx
je 0x44428d
cmp eax, ecx
jbe 0x4442d1
mov esi, dword [edi + 0x178a8]
lea edx, [ecx + 1]
mov dword [edi + 0x88], edx
movzx ecx, byte [esi + ecx]
or ecx, ebx
mov ebx, ecx
mov dword [edi + 0x84], ecx
shl ebx, 8
cmp eax, edx
je 0x4442eb
cmp edx, eax
jae 0x44432f
mov esi, dword [edi + 0x178a8]
lea ecx, [edx + 1]
mov dword [edi + 0x88], ecx
movzx edx, byte [esi + edx]
or edx, ebx
mov ebx, edx
mov dword [edi + 0x84], edx
shl ebx, 8
cmp eax, ecx
je 0x4441ee
cmp ecx, eax
jae 0x444a5c
mov esi, dword [edi + 0x178a8]
lea edx, [ecx + 1]
mov dword [edi + 0x88], edx
movzx ecx, byte [esi + ecx]
or ebx, ecx
test ebx, ebx
mov dword [edi + 0x84], ebx
je 0x443da1
sub ebx, 1
cmp eax, edx
mov dword [edi + 0x84], ebx
je 0x4441a8
cmp edx, eax
jae 0x443da1
lea eax, [edx + 1]
mov dword [edi + 0x88], eax
mov eax, dword [edi + 0x178a8]
movzx esi, byte [eax + edx]
mov ecx, dword [esp + 0x18]
mov dword [esp], esi
call fcn.0043ee90
sub esp, 4
xor eax, eax
mov edx, dword [esp + 0x40]
test edx, edx
setg al
sub dword [esp + 0x40], eax
jne 0x443c92
add esp, 0x2c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret 4
lea eax, [edi + 0x90]
mov esi, 1
mov dword [esp + 0x10], eax
lea esi, [esi]
mov eax, dword [edi + 0x178a0]
test eax, eax
je 0x4440cf
mov ebx, dword [esp + 0x10]
add eax, 0xa
mov dword [esp], ebx
call eax
mov ebx, dword [edi + 0x84]
mov ecx, dword [edi + 0x7c]
lea edx, [eax + eax + 1]
cmp ebx, ecx
jb 0x443f55
mov ebp, dword [edi + 0x80]
cmp ebx, ebp
jbe 0x443f78
mov dword [esp], 0x4fb31c
mov dword [esp + 0x14], edx
call fcn.00402a80
mov ecx, dword [edi + 0x7c]
mov ebp, dword [edi + 0x80]
mov ebx, dword [edi + 0x84]
mov edx, dword [esp + 0x14]
mov eax, ebp
sub eax, ecx
mul edx
shrd eax, edx, 0x10
add eax, ecx
cmp eax, ebx
jb 0x4440c0
mov dword [edi + 0x80], eax
mov ebx, 1
mov edx, eax
xor edx, ecx
cmp edx, 0xffffff
ja 0x44400e
shl eax, 8
shl ecx, 8
mov edx, dword [edi + 0x88]
or al, 0xff
mov dword [edi + 0x80], eax
xor eax, eax
test ecx, ecx
sete al
add ecx, eax
mov eax, dword [edi + 0x8c]
mov dword [edi + 0x7c], ecx
cmp edx, eax
je 0x444071
cmp edx, eax
jae 0x444040
lea eax, [edx + 1]
mov ecx, dword [edi + 0x7c]
mov dword [edi + 0x88], eax
mov eax, dword [edi + 0x178a8]
movzx eax, byte [eax + edx]
mov edx, dword [edi + 0x84]
shl edx, 8
or eax, edx
mov edx, ecx
mov dword [edi + 0x84], eax
mov eax, dword [edi + 0x80]
xor edx, eax
cmp edx, 0xffffff
jbe 0x443fa3
mov ecx, dword [esp + 0x10]
lea esi, [ebx + esi*2]
mov dword [esp], ebx
call fcn.0043b6f0
sub esp, 4
cmp esi, 0xff
jle 0x443f20
sub esi, 0x100
jmp 0x443ed7
mov dword [esp], str._aJp7
call fcn.00402a80
mov eax, dword [edi + 0x80]
mov ecx, dword [edi + 0x7c]
mov dword [edi + 0x84], 0xffffffff
mov edx, eax
xor edx, ecx
cmp edx, 0xffffff
jbe 0x443fa3
jmp 0x44400e
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x4440b0
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x443fd1
xor edx, edx
xor eax, eax
jmp 0x4440a3
lea ecx, [eax + 1]
xor ebx, ebx
mov eax, ebp
mov dword [edi + 0x7c], ecx
jmp 0x443f97
mov eax, dword [edi + 0x898]
imul ebx, dword [eax + 0x14], 0x64
mov eax, dword [edi + 0x178a4]
add ebx, 0x1000
and ebx, 0xfffff000
test eax, eax
je 0x444103
mov dword [edi + 0x178a0], 0
mov dword [edi + 0x178a4], 0
test ebx, ebx
jle 0x44413f
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x3000
mov dword [esp + 4], ebx
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
sub esp, 0x10
test eax, eax
mov dword [edi + 0x178a0], eax
je 0x444976
mov dword [edi + 0x178a4], ebx
mov ecx, dword [esp + 0x10]
call fcn.00435830
mov ebx, eax
mov eax, dword [edi + 0x178a4]
cmp ebx, eax
jg 0x44448a
mov eax, dword [edi + 0x178a0]
test eax, eax
je 0x444174
cmp ebx, 0xe
jle 0x444174
cmp dword [edi + 0x178a4], 0xe
jg 0x443f2e
mov dword [esp], 0x4fb70c
call fcn.00402a80
mov eax, dword [edi + 0x178a0]
jmp 0x443f2e
lea ebx, [eax - 1]
mov edx, dword [edi + 0x88]
mov eax, dword [edi + 0x8c]
mov dword [edi + 0x84], ebx
cmp eax, edx
jne 0x443ebc
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x444866
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x443ebc
mov ebx, 0xffffff00
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x444891
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov ecx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x443e80
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x444888
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
cmp eax, edx
mov dword [edi + 0x8c], eax
ja 0x443dfa
mov ecx, edx
mov edx, 0xffffffff
mov ebx, 0xffffff00
cmp eax, ecx
mov dword [edi + 0x84], edx
jne 0x443e20
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x444878
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov ecx, dword [edi + 0x88]
sub esp, 8
cmp eax, ecx
mov dword [edi + 0x8c], eax
ja 0x443e28
mov edx, ecx
mov ecx, 0xffffffff
mov ebx, 0xffffff00
cmp eax, edx
mov dword [edi + 0x84], ecx
jne 0x443e50
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x44487f
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
cmp edx, eax
mov dword [edi + 0x8c], eax
jb 0x443e58
mov dword [edi + 0x84], 0xffffffff
je 0x4441e9
cmp eax, edx
mov dword [edi + 0x84], 0xfffffffe
jne 0x443da1
jmp 0x4441a8
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x444898
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
cmp edx, eax
mov dword [edi + 0x8c], eax
jb 0x4439d1
mov dword [edi + 0x84], 0xffffffff
je 0x444433
cmp eax, edx
mov dword [edi + 0x84], 0xffffffff
mov ebx, 0xffffff00
ja 0x443a2f
mov dword [edi + 0x84], 0xffffffff
je 0x443c2f
cmp eax, edx
mov dword [edi + 0x84], 0xfffffffe
jne 0x44396e
jmp 0x443bee
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x4448af
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x443a27
mov ebx, 0xffffff00
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x4448a8
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov ecx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x4439f7
mov dword [esp], 0x4fb760
call fcn.00402a80
jmp 0x443da1
mov edx, dword [edi + 0x178a0]
test edx, edx
je 0x444a0f
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 0
mov dword [esp], edx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
sub esp, 0xc
mov dword [edi + 0x178a0], 0
mov dword [edi + 0x178a4], 0
test ebx, ebx
jle 0x444504
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x3000
mov dword [esp + 4], ebx
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
sub esp, 0x10
test eax, eax
mov dword [edi + 0x178a0], eax
je 0x4449ac
mov dword [edi + 0x178a4], ebx
mov ecx, dword [esp + 0x10]
call fcn.00435830
mov ebx, eax
jmp 0x444158
mov ecx, dword [edi + 0x178a0]
test ecx, ecx
je 0x444a02
mov dword [esp + 0x14], edx
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 0
mov dword [esp], ecx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
sub esp, 0xc
mov edx, dword [esp + 0x14]
mov dword [edi + 0x178a0], 0
mov dword [edi + 0x178a4], 0
test edx, edx
jle 0x44459e
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x3000
mov dword [esp + 4], edx
mov dword [esp + 0x14], edx
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
sub esp, 0x10
test eax, eax
mov dword [edi + 0x178a0], eax
je 0x444991
mov edx, dword [esp + 0x14]
mov dword [edi + 0x178a4], edx
mov ecx, esi
call fcn.00435830
mov edx, eax
jmp 0x443b93
mov ebx, 0xffffff00
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x44494d
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x443d55
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x444944
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
cmp edx, eax
mov dword [edi + 0x8c], eax
jb 0x443cfd
mov ecx, edx
mov ebx, 0xffffffff
mov esi, 0xffffff00
cmp eax, ecx
mov dword [edi + 0x84], ebx
jne 0x443d25
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x444936
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov ecx, dword [edi + 0x88]
sub esp, 8
cmp ecx, eax
mov dword [edi + 0x8c], eax
jb 0x443d2d
mov dword [edi + 0x84], 0xffffffff
je 0x4445ac
mov ebx, 0xffffffff
jmp 0x443d72
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x44493d
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov ecx, dword [edi + 0x88]
sub esp, 8
cmp eax, ecx
mov dword [edi + 0x8c], eax
ja 0x443ccf
mov edx, ecx
mov ebx, 0xffffff00
mov ecx, 0xffffffff
jmp 0x443ce7
mov dword [esp], 0x4fb760
call fcn.00402a80
jmp 0x44396e
mov ebx, 0xffffff00
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x44496f
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov ecx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x443924
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x444966
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
cmp eax, edx
mov dword [edi + 0x8c], eax
ja 0x4438fc
mov dword [edi + 0x84], 0xffffffff
je 0x444714
mov ebx, 0xffffffff
jmp 0x443941
mov ebx, 0xffffff00
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x44495f
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov ecx, dword [edi + 0x88]
sub esp, 8
mov dword [edi + 0x8c], eax
jmp 0x4438c4
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x88], 0
test ecx, ecx
je 0x444956
mov eax, dword [ecx]
mov edx, dword [edi + 0x178a8]
mov dword [esp + 4], 0x10000
mov dword [esp], edx
mov eax, dword [eax + 4]
call eax
mov edx, dword [edi + 0x88]
sub esp, 8
cmp edx, eax
mov dword [edi + 0x8c], eax
jb 0x44389e
mov dword [edi + 0x84], 0xffffffff
je 0x4447b8
mov dword [edi + 0x84], 0xffffffff
mov esi, 0xffffff00
jmp 0x4438f4
xor edx, edx
xor eax, eax
jmp 0x4441de
xor edx, edx
xor eax, eax
jmp 0x443c24
xor eax, eax
jmp 0x4442c3
xor edx, edx
xor eax, eax
jmp 0x444321
xor edx, edx
xor eax, eax
jmp 0x444265
xor eax, eax
jmp 0x444224
xor edx, edx
xor eax, eax
jmp 0x444396
xor eax, eax
jmp 0x443c6a
xor eax, eax
jmp 0x44446e
xor edx, edx
xor eax, eax
jmp 0x444428
lea ecx, [edi + 0x90]
call fcn.0043f0d0
mov eax, dword [edi + 0x898]
mov eax, dword [eax + 8]
cmp byte [eax + 6], 0
jne 0x4449e2
mov dword [edi + 0x84], 0
mov dword [edi + 0x80], 0
mov dword [edi + 0x7c], 0
mov eax, dword [edi + 8]
lea ecx, [edi + 0x178c4]
movzx edx, byte [eax + 5]
movzx eax, byte [eax + 4]
mov dword [edi + 0x178b8], 0
mov dword [edi + 0x178b4], 0
mov dword [edi + 0x178bc], eax
mov dword [edi + 0x178c0], edx
call fcn.0042d2a0
mov dword [edi + 0x1793c], 1
jmp 0x443850
xor eax, eax
jmp 0x444686
xor eax, eax
jmp 0x4446e4
xor edx, edx
xor eax, eax
jmp 0x444628
xor edx, edx
xor eax, eax
jmp 0x4445e7
xor edx, edx
xor eax, eax
jmp 0x444834
xor eax, eax
jmp 0x4447f3
xor edx, edx
xor eax, eax
jmp 0x444790
xor eax, eax
jmp 0x44474f
mov dword [edi + 0x178a4], 0
mov dword [esp], 0x4facf6
call fcn.00402a80
jmp 0x44413f
mov dword [edi + 0x178a4], 0
mov dword [esp], 0x4facf6
call fcn.00402a80
jmp 0x44459e
mov dword [edi + 0x178a4], 0
mov dword [esp], 0x4facf6
call fcn.00402a80
jmp 0x444504
mov dword [edi + 0x178a4], 0
mov dword [esp], 0x4facf6
call fcn.00402a80
jmp 0x443b7c
mov dword [edi + 0x7c], 1
mov dword [edi + 0x80], 0xffffffff
mov dword [edi + 0x84], 0
jmp 0x4448f1
test eax, eax
jne 0x444546
jmp 0x44455a
test eax, eax
jne 0x4444b4
jmp 0x4444c8
mov dword [esp], 0x4fb968
call fcn.00402a80
mov eax, dword [edi + 0x1793c]
jmp 0x443848
mov edx, ecx
mov ebx, 0xffffff00
mov ecx, 0xffffffff
jmp 0x443a19
mov edx, ecx
jmp 0x4443db
mov edx, ecx
mov esi, 0xffffff00
mov ebx, 0xffffffff
jmp 0x4438e6
mov edx, ecx
jmp 0x44433f