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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov ebx, edx
test edx, edx
je 0x4405f6
mov esi, eax
mov edi, dword [eax + 0x18]
mov eax, dword [edx + 4]
cmp eax, 0x13
je 0x4405f6
cmp eax, 0x14
je 0x4405f6
mov edx, eax
and edx, 0xfffffffb
cmp edx, 9
je 0x440600
mov edx, dword [esi + 0x20]
test dl, 0x10
jne 0x4406d0
cmp eax, 0x12
je 0x440b65
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x4403df
cmp dword [ecx + 4], 0xd
je 0x440610
and edx, 0x40
jne 0x440620
cmp eax, 0xe
je 0x440710
cmp eax, 0xb
je 0x4408a5
cmp eax, 0xf
je 0x4408b6
cmp eax, 0x10
je 0x4408d0
cmp eax, 0x11
je 0x4408e4
cmp eax, 3
je 0x4407a4
cmp eax, 7
je 0x440800
cmp eax, 8
je 0x440720
cmp eax, 5
je 0x440a86
cmp eax, 4
je 0x4408f8
cmp eax, 2
je 0x440af4
mov edx, dword [esi + 0x28]
mov dword [esp + 0x28], edx
dec edx
je 0x4409c0
mov dword [esp + 8], 0x6eb24e
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00443e50
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4404a3
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4404a3
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004444d0
mov dword [esp + 8], 0x6eb21d
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00443e50
mov eax, dword [ebx + 8]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004444d0
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x4404c5
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0043e8a0
mov ebp, dword [ebx + 0x2c]
lea ecx, [esi + 0x18]
test ebp, ebp
je 0x4404eb
mov dword [esp + 0x24], ebx
mov ebx, ebp
mov ebp, ecx
mov edx, ebx
mov eax, ebp
call fcn.0043ef50
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x4404d7
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 4], 1
je 0x440980
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x440980
mov dword [esp + 8], 0x6eb347
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00443e50
cmp dword [ebx + 4], 1
je 0x440538
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x440538
mov edx, dword [esi + 0x74]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], edi
call fcn.004441c0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x44057e
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x440a3b
mov eax, dword [esi + 0x24]
test eax, eax
js 0x440555
inc eax
mov dword [esi + 0x24], eax
mov eax, esi
mov edx, dword [ebx + 0xc]
call fcn.00440b80
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x44056a
dec eax
mov dword [esi + 0x24], eax
mov eax, dword [0x6713b4]
test eax, eax
je 0x44057e
mov ebp, dword [esi + 0x28]
test ebp, ebp
jne 0x440aca
mov dword [esp + 8], 0x6eb394
mov dword [esp + 4], 2
mov dword [esp], edi
call fcn.00443e50
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4405c8
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4405c8
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004444d0
mov dword [esp + 8], 0x6eb21d
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00443e50
mov eax, dword [ebx + 8]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004444d0
mov dword [esp + 8], 0x6eb347
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00443e50
mov edx, dword [esp + 0x28]
mov dword [esi + 0x28], edx
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0x3c
mov edx, ebx
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0043ff10
test dl, 0x20
jne 0x4403df
lea esi, [esi]
mov ebp, dword [esi + 0x10]
call fcn.0042ced0
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x24], eax
test eax, eax
je 0x440880
mov edx, dword [eax + 0x3c]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x28], edx
test eax, eax
je 0x440894
mov edx, dword [esp + 0x24]
mov dword [edx + 0x3c], eax
test ebp, ebp
jne 0x4407d4
mov edx, dword [esp + 0x24]
mov dword [esp], edx
call fcn.004bb320
mov byte [esp + 0x2f], 1
mov ecx, eax
test ecx, ecx
je 0x440706
test ebp, ebp
jne 0x4406e0
mov eax, dword [edi + 0xc]
test eax, eax
je 0x440940
test byte [esi + 0x20], 1
je 0x4406e4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004bbb40
mov eax, ebp
test al, al
jne 0x440770
cmp byte [esp + 0x2f], 0
je 0x4405f6
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [edx + 0x3c], eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0x3c
mov edx, ebx
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0043f010
xor ebp, ebp
jmp 0x440682
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.004bbb40
jmp 0x4406a8
mov ecx, 0x6eb3d8
jmp 0x440673
add esp, 0x3c
mov edx, ebx
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00440c20
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x4405f6
mov dword [esp + 8], 0x6eb22a
mov dword [esp + 4], 4
mov dword [esp], edi
call fcn.00443e50
mov eax, dword [ebx + 0x28]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004444d0
mov dword [esp + 8], 0x6eb22f
mov dword [esp + 4], 3
mov dword [esp], edi
call fcn.00443e50
jmp 0x4405f6
mov ebx, dword [esi + 0x18]
mov dword [esp], ebx
call fcn.00444520
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call fcn.00470430
mov eax, dword [ebx + 0x14]
mov dword [esp], eax
call fcn.004101d0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x14], 0
jmp 0x4406b2
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x4405f6
cmp dword [ebx + 8], str.textnoenc
je 0x440a75
mov edx, dword [esi + 0x74]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], edi
call fcn.004441c0
jmp 0x4405f6
mov ecx, ebp
mov eax, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x20], ecx
call fcn.004bb5b0
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x2f], 1
test ecx, ecx
jne 0x440673
jmp 0x440658
mov ecx, dword [ebx + 0x28]
mov dword [esp + 8], 0x6eb224
test ecx, ecx
mov dword [esp + 4], 2
mov dword [esp], edi
je 0x440b05
call fcn.00443e50
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004444d0
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x440860
mov dword [esp + 8], 0x6eb21b
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00443e50
mov eax, dword [ebx + 0x28]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004444d0
mov dword [esp + 8], 0x6eb227
mov dword [esp + 4], 2
mov dword [esp], edi
call fcn.00443e50
jmp 0x4405f6
mov ecx, ebp
mov dword [esp + 0x28], 0
mov byte [esp + 0x2f], 0
jmp 0x44066b
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x4407d6
jmp 0x440650
mov edx, dword [ebx + 0xc]
add esp, 0x3c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00440b80
mov dword [esp + 4], ebx
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call fcn.004316f0
jmp 0x4405f6
mov dword [esp + 4], ebx
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call fcn.00432360
jmp 0x4405f6
mov dword [esp + 4], ebx
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call fcn.00413f10
jmp 0x4405f6
mov ebp, dword [ebx + 0x28]
test ebp, ebp
je 0x440a58
mov al, byte [ebp]
mov ebx, ebp
test al, al
jne 0x44091d
jmp 0x440a58
mov al, byte [ebx + 1]
inc ebx
test al, al
je 0x4409f2
cmp al, 0x5d
jne 0x440911
mov al, byte [ebx + 1]
cmp al, 0x5d
jne 0x440914
cmp byte [ebx + 2], 0x3e
je 0x440b12
inc ebx
mov al, byte [ebx + 1]
cmp al, 0x5d
jne 0x440914
jmp 0x440928
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x440682
mov eax, dword [esi + 0x18]
mov edx, ecx
mov dword [esp + 0x20], ecx
call fcn.0043e630
mov ebp, 1
test eax, eax
mov ecx, dword [esp + 0x20]
jns 0x440682
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [eax + 0x3c], edx
jmp 0x4405f6
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x440500
test byte [esi + 0x20], 4
jne 0x440500
mov dword [esp + 8], 0x6eb424
mov dword [esp + 4], 2
mov dword [esp], edi
call fcn.00443e50
mov eax, dword [esp + 0x28]
mov dword [esi + 0x28], eax
jmp 0x4405f6
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x4409db
jmp 0x440459
mov eax, dword [eax + 0x18]
test eax, eax
je 0x440459
mov edx, dword [eax + 4]
sub edx, 3
cmp edx, 2
ja 0x4409d0
mov dword [esi + 0x28], 0
jmp 0x440459
cmp ebp, ebx
je 0x4405f6
mov dword [esp + 8], str.___CDATA_
mov dword [esp + 4], 9
mov dword [esp], edi
call fcn.00443e50
mov dword [esp + 4], ebp
mov dword [esp], edi
call fcn.004444d0
mov dword [esp + 8], 0x6eb24a
mov dword [esp + 4], 3
mov dword [esp], edi
call fcn.00443e50
jmp 0x4405f6
mov dword [esp + 8], 0x6eb349
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00443e50
jmp 0x44054a
mov dword [esp + 8], str.___CDATA____
mov dword [esp + 4], 0xc
mov dword [esp], edi
call fcn.00443e50
jmp 0x4405f6
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004444d0
jmp 0x4405f6
mov dword [esp + 8], 0x6eb217
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00443e50
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004444d0
mov dword [esp + 8], 0x6eb219
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00443e50
jmp 0x4405f6
lea eax, [esi + 0x2c]
mov dword [esp + 8], eax
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x6c]
cmp eax, edx
jle 0x440add
mov eax, edx
mov ecx, dword [esi + 0x70]
mov dword [esp], edi
imul eax, ecx
mov dword [esp + 4], eax
call fcn.00443e50
jmp 0x44057e
add esp, 0x3c
lea eax, [esi + 0x18]
mov edx, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0043ef50
call fcn.00443e50
mov eax, dword [ebx + 8]
jmp 0x440854
lea esi, [ebx + 2]
mov dword [esp + 8], str.___CDATA_
mov dword [esp + 4], 9
mov dword [esp], edi
call fcn.00443e50
mov eax, esi
sub eax, ebp
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00443e50
mov dword [esp + 8], 0x6eb24a
mov dword [esp + 4], 3
mov dword [esp], edi
call fcn.00443e50
mov ebp, esi
mov al, byte [ebx + 3]
mov ebx, esi
jmp 0x440914
and dl, 0x40
jne 0x440620
add esp, 0x3c
mov edx, ebx
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0043e6d0