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

Disassembly:
push ecx
sub ecx, 0xf9b0
add ecx, 0x22ac
call 0x438e82
add byte [edx + 0x40], al
dec esi
push eax
aas
dec edi
dec eax
dec ebp
aas
add esp, 4
sub ecx, 0xa381
pop ecx
push esi
push ecx
add esp, 4
and esi, 0x1e20
pop esi
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ecx
add ecx, 0x6239
pop ecx
push edi
push ebx
add esp, 4
and edi, 0x12d61
xor edi, 0x10d82
pop edi
push edi
push eax
add esp, 4
sub edi, 0x1828f
or edi, 0xb05f
or edi, 0x15e2c
pop edi
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push edi
sub edi, 0x8882
add edi, 0xa57d
and edi, 0x9402
pop edi
push edx
push ecx
add esp, 4
sub edx, 0x1c74
and edx, 0xdfba
and edx, 0xefb9
xor edx, 0x168f0
pop edx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x438f9a
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x438ff4
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x438ec2
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x438ec2
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x438fde
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x438fe8
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x43903d
push ecx
push edi
add esp, 4
xor ecx, 0x17f6d
pop ecx
push ebx
xor ebx, 0x6e99
sub ebx, 0xac43
or ebx, 0x10ea8
pop ebx
push ebx
push esi
add esp, 4
and ebx, 0x6c8e
sub ebx, 0x94d9
pop ebx
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x4390a5
push edi
sub edi, 0x184dc
pop edi
push eax
or eax, 0x81d3
call 0x43905c
add byte [esi + 0x44], al
cmp al, 0x4e
inc ecx
dec ebx
dec ebx
cmp ecx, dword [edi + 0x36]
add esp, 4
or eax, 0x17280
jmp 0x43906e
pop eax
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x43909b
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x438e66
mov dword [ebp - 0x710], 0
push ebx
add ebx, 0x14724
pop ebx
push edx
sub edx, 0x16386
add edx, 0x104ee
pop edx
push edi
xor edi, 0xdf17
pop edi
push edx
xor edx, 0x12957
or edx, 0xd17
add edx, 0x590c
pop edx
cmp dword [ebp - 0x710], 0
jne 0x439121
push ebx
push edx
add esp, 4
add ebx, 0x361a
call 0x4390f8
add byte [edi], bh
xor esi, dword [0x48354540]
add esp, 4
call 0x439108
add byte [eax + 0x4c], cl
inc ecx
dec eax
aas
inc edi
dec esp
add esp, 4
xor ebx, 0xe4bb
add byte [ebx - 0x39], bl
test dword [eax + 0xfffff5], ebp
add byte [eax], al
add cl, ch
sub byte [ebx], cl
add byte [eax], al
push edx
push esi
add esp, 4
and edx, 0x4fff
and edx, 0xc0ca
sub edx, 0x2611
add edx, 0xaaf
pop edx
push ecx
xor ecx, 0xdf03
or ecx, 0x1563
add ecx, 0x13a50
pop ecx
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x439192
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x439483
add byte [eax], al
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x4391ba
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x439483
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x4391ec
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x439483
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x439211
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x439483
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
dec dword [ebx - 0x2ff6b]
inc dword [ebx]
push ecx
sbb al, 0x89
xchg ebp, eax
sbb bh, ah
invalid
inc edi
mov dword [ebp - 0x718], 0
jmp 0x43926b
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x439477
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x4392db
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x43938d
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x43938d
push eax
and eax, 0x12364
and eax, 0xfed3
sub eax, 0x150dc
pop eax
push edi
push ebx
add esp, 4
xor edi, 0x120c5
add edi, 0xb036
xor edi, 0xa4d0
and edi, 0xb220
pop edi
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x43937f
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x439386
jmp 0x4392cc
jmp 0x43938d
push eax
sub eax, 0x8262
sub eax, 0x173a8
call 0x4393a9
add byte [edx], dh
dec esp
aas
aas
dec ebx
dec ecx
dec esi
dec edx
add esp, 4
or eax, 0xefcb
pop eax
push edi
push ebx
add esp, 4
add edi, 0xf5f4
pop edi
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x4393ec
mov dword [ebp - 0xc5c], 0
jmp 0x43945b
push ecx
push ecx
add esp, 4
xor ecx, 0x1ee4
xor ecx, 0x1dda
call 0x43940a
add byte [0x4d3a4842], dh
inc ebx
inc esi
add esp, 4
call 0x43941a
add byte [ecx + 0x34], al
xor al, 0x42
dec eax
inc ecx
cmp eax, dword [ebx - 0x74a6fb3c]
invalid
cmp dword [ebp - 0xc5c], 0
jne 0x439472
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x439483
jmp 0x43925c
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x43955e
push ecx
or ecx, 0x6bec
pop ecx
push ebx
push edi
add esp, 4
call 0x4394aa
add byte [edx + 0x42], al
xor al, 0x38
xor al, 0x35
cmp dword [ebx + 0x525b04c4], eax
push edx
add esp, 4
jmp 0x4394bb
xor edx, 0x119d0
pop edx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push esi
sub esi, 0x4ad0
sub esi, 0x112cf
pop esi
push ebx
push edi
add esp, 4
add ebx, 0xcae8
sub ebx, 0x471a
pop ebx
push ebx
push edx
add esp, 4
sub ebx, 0x6763
jmp 0x4394ff
pop ebx
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x43955e
push eax
or eax, 0x933c
xor eax, 0x10936
call 0x439538
add byte [ebp + 0x44], cl
cmp ecx, dword [esp + eax*2 + 0x4b]
cmp eax, 0x4c48341
call fcn.0043954b
push edi
call 0x43956e
add byte [0x40344d3a], bh
inc edi
inc esp
cmp eax, dword [edx - 0x7d]
les eax, [edi + ebx*2]
push ecx
push ecx
add esp, 4
sub ecx, 0x10a1
xor ecx, 0x11cae
pop ecx
push eax
push eax
add esp, 4
add eax, 0x157cc
pop eax
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push edi
or edi, 0x13060
pop edi
push esi
jmp 0x4395ca
xor esi, 0x12f7c
call 0x4395e0
add byte [edx], bh
dec ebx
dec ebp
dec ecx
inc ebp
dec edi
cmp esi, dword [ebx]
dec edx
add esp, 4
add esi, 0xae5e
pop esi
cmp dword [ebp - 0x1574], 0
jne 0x439602
mov dword [ebp - 0x2a8], 0
jmp 0x4398a9
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push esi
push esi
add esp, 4
and esi, 0x1b15
jmp 0x439627
or esi, 0xc085
pop esi
push edx
push eax
add esp, 4
call 0x439642
add byte [ebx + 0x48], cl
dec esi
cmp esi, dword [edx]
inc esi
inc ecx
dec eax
dec ecx
add esp, 4
pop edx
cmp dword [ebp - 0xc68], 0
jne 0x43965e
mov dword [ebp - 0x2a8], 0
jmp 0x4398a9
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx