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

Disassembly:
add byte [eax], al
jmp 0x406c22
push ecx
push eax
add esp, 4
add ecx, 0xe3f4
or ecx, 0x1314d
call 0x406c3f
add byte [ecx + 0x4f], al
inc esp
inc ebp
xor al, byte [ebx + 0x9e804c4]
add byte [eax], al
add byte [eax], al
aaa
inc edi
dec edi
inc edi
cmp dword [edi + edi + 0x50], ecx
add esp, 4
pop ecx
cmp dword [ebp - 0x774], 0
jne 0x406c9e
push edx
push edx
add esp, 4
call 0x406c71
add byte [eax + 0x47], dl
inc eax
inc ebx
dec ecx
dec edi
inc esi
inc ecx
push eax
add esp, 4
pop edx
push ecx
add ecx, 0x10cd1
call 0x406c8b
add byte [ebx + 0x4f], cl
inc esi
cmp cl, byte [esi + 0x40]
inc edi
dec esi
add esp, 4
pop ecx
mov dword [ebp - 0xab4], 0
jmp 0x4077c6
push esi
call 0x406cae
add byte [eax + 0x36], dl
cmp edi, dword [eax]
dec edx
cmp cl, byte [esp + eax*2 + 0x47]
add esp, 4
sub esi, 0xf24d
sub esi, 0x14e0a
pop esi
push eax
push edx
add esp, 4
add eax, 0xc462
and eax, 0x9369
pop eax
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 - 0x166c], eax
cmp dword [ebp - 0x166c], 0
jne 0x406d0f
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x407000
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x406d37
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x407000
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x406d69
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x407000
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x406d8e
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x407000
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19f4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19fc], edx
mov dword [ebp - 0x77c], 0
jmp 0x406de8
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 0x406ff4
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19f4]
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 - 0x19f8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19fc]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a00], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x406e58
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x406f0a
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x406f0a
push edx
or edx, 0xebb5
xor edx, 0x12301
pop edx
push ebx
push edi
add esp, 4
and ebx, 0xf87e
pop ebx
push ebx
push edi
add esp, 4
sub ebx, 0xaa61
and ebx, 0xc07e
sub ebx, 0x1523e
pop ebx
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
je 0x406efc
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
jne 0x406f03
jmp 0x406e49
jmp 0x406f0a
push edi
push ebx
add esp, 4
call 0x406f1c
add byte [eax + 0x4d], cl
xor eax, 0x3b34363b
add esp, 4
pop edi
push ecx
push ebx
add esp, 4
call 0x406f32
add byte [eax + 0x39], cl
inc ebx
xor al, byte [esi + 0x3c]
add esp, 4
and ecx, 0xc6fc
pop ecx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x406f69
mov dword [ebp - 0xcd4], 0
jmp 0x406fd8
push ebx
push esi
add esp, 4
jmp 0x406f73
add ebx, 0x792b
pop ebx
push esi
push edi
add esp, 4
jmp 0x406f88
call 0x406f97
add byte [edx + eax*2 + 0x43], cl
cmp bh, byte [esi - 0x7cb5c6c1]
les eax, [esi + ebx*2]
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
or ecx, 0x20
cmp edx, ecx
jge 0x406fce
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x406fd8
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x406fef
mov edx, dword [ebp - 0x1a00]
mov dword [ebp - 0x3f8], edx
jmp 0x407000
jmp 0x406dd9
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x4070db
push edx
add edx, 0x3504
call 0x407022
add byte [eax + 0x4e], cl
dec esi
inc ebx
dec esi
inc esi
cmp al, 0x4d
add esp, 4
call 0x407035
add byte [ebx + 0x4a], al
cmp edi, dword [0x40473f4a]
dec edi
dec eax
add esp, 4
and edx, 0xd87d
pop edx
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x1a04], ecx
push eax
push edi
add esp, 4
sub eax, 0x60c8
jmp 0x40705f
pop eax
push edi
sub edi, 0x53e2
pop edi
push edx
push ebx
add esp, 4
sub edx, 0x2798
jmp 0x40707c
pop edx
mov edx, dword [ebp - 0x1a04]
mov dword [ebp - 0x1a08], edx
lea eax, [ebp - 0x1738]
push eax
call dword [ebp - 0x1a08]
test eax, eax
jne 0x4070db
push eax
and eax, 0x5f67
add eax, 0xfe1d
and eax, 0x1440a
pop eax
push ebx
push edi
add esp, 4
xor ebx, 0x7557
and ebx, 0x12065
sub ebx, 0xbf83
xor ebx, 0x94ea
pop ebx
mov dword [ebp - 0xab4], 0
jmp 0x4077c6
push edx
xor edx, 0xaa8a
and edx, 0x15b8b
pop edx
push edx
push ebx
add esp, 4
add edx, 0x1b4d
pop edx
push ecx
push esi
add esp, 4
add ecx, 0xc9ed
xor ecx, 0x10763
xor ecx, 0x15af0
pop ecx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1a0c], ecx
mov edx, dword [ebp - 0x1a0c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a10], eax
mov ecx, dword [ebp - 0x1a10]
mov dword [ebp - 0x167c], ecx
push ebx
push ecx
add esp, 4
sub ebx, 0x1099f
xor ebx, 0x14e63
call 0x407154
add byte [edx + 0x41], al
dec esi
dec ebx
dec ebx
cmp al, 0x38
inc ecx
add esp, 4
call 0x407163
add byte [ebx + 0x33], cl
dec ecx
inc ebp
cmp byte [ebx + eax*4 - 0x3c], al
add al, 0x5b
cmp dword [ebp - 0x167c], 0
jne 0x40717f
mov dword [ebp - 0x2fc], 0
jmp 0x407426
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push ecx
add ecx, 0xd301
or ecx, 0x16ba1
xor ecx, 0xf040
pop ecx
push edx
push edx
add esp, 4
xor edx, 0xb5bc
add edx, 0xdd1f
add edx, 0x14fcd
add edx, 0x29bc
pop edx
cmp dword [ebp - 0xce0], 0
jne 0x4071db
mov dword [ebp - 0x2fc], 0
jmp 0x407426
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push edx
jmp 0x4071f0
pop edx
push edi
push edi
add esp, 4
add edi, 0x20eb
jmp 0x407203
pop edi
push edi
and edi, 0xf337
jmp 0x407212
and edi, 0xf8af
pop edi
lea eax, [ebp - 0x1738]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edi
call 0x407251
add byte [ecx], bh
dec ebx
xor eax, 0x33334a40
add esp, 4
call 0x407264
add byte [edx + 0x48], cl
push eax
cmp byte [ebp + 0x4b], cl
inc eax
inc esp
inc eax
add esp, 4
jmp 0x40726e
add edi, 0x15e43
pop edi
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push edx
call 0x4072dc
add byte [eax + 0x49], al
inc ebx
dec esi
dec ebx
inc esp
dec edi
inc eax
push eax
add esp, 4
jmp 0x4072e6
pop edx
push edi
push edi
add esp, 4
call 0x4072fa
add byte [0x4b3d4a42], bh
aaa
xor edx, dword [eax - 0x7d]
les eax, [edi + ebx*2]
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40731b
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
jmp 0x407375
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x407243
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x407243
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x40735f
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x407369
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x4073be
push eax
call 0x40738e
add byte [ecx], bh
xor dh, byte [0x4a42343b]
inc ebp
aaa
add esp, 4
add eax, 0xbcc0
and eax, 0x1769d
call 0x4073ac
add byte [ebp + 0x38], cl
inc eax
dec edx
cmp eax, dword [ebx + 0x44]
dec edx
xor eax, 0x5804c483
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x407426
push edi
and edi, 0x60e7
or edi, 0xd67d
pop edi
push edx
push eax
add esp, 4
xor edx, 0x10051
pop edx
push ebx
push edx
add esp, 4
sub ebx, 0x12e12
add ebx, 0x3e24
xor ebx, 0x16053
pop ebx
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x40741c
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x4071e7
mov dword [ebp - 0x2fc], 0
push edx
push edx
add esp, 4
jmp 0x407430
pop edx
push eax
push esi
add esp, 4
or eax, 0x1537f
add eax, 0x731b
and eax, 0xc31b
call 0x407454
add byte [ebx], bh
dec ecx
inc edx
inc ebp
inc esp
cmp byte [ebx - 0x74a7fb3c], al
lea eax, [edi*8 + 0x518bffff]
sbb byte [ecx - 0x3376b], cl
call dword [edi + 0x52]
add esp, 4
add edi, 0x13a88
pop edi
push esi
jmp 0x40747d
jmp 0x407486
call 0x407495
add byte [edi], dh
cmp al, 0x3e
push eax
inc esi
dec ecx
aas
dec edx
add esp, 4
pop esi
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x4074c9
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x4077ba
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x4074f1
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x4077ba
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x168c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 0
jne 0x407523
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x4077ba
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x407548
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x4077ba
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a14], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a18], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a1c], edx
mov dword [ebp - 0x78c], 0
jmp 0x4075a2
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x4077ae
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a14]
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 - 0x1a18]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a1c]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a20], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x407612
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4076c4
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x4076c4
push ebx
push esi
add esp, 4
sub ebx, 0x19b
call 0x407657
add byte [esi], dh
cmp ecx, dword [eax + 0x44]
dec esi
inc ebx
xor al, 0x83
les eax, [eax + ebp*8]
or byte [eax], al
add byte [eax], al
add byte [ecx + 0x43], al
inc ecx
inc edi
dec ecx
dec esi
add esp, 4
and ebx, 0x3291
pop ebx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x4076b6
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x4076bd
jmp 0x407603
jmp 0x4076c4
push ecx
push ebx
add esp, 4
add ecx, 0xd8ee
and ecx, 0x14d37
pop ecx
push eax
and eax, 0x1677f
pop eax
push edi
push ebx
add esp, 4
add edi, 0xbe3b
sub edi, 0x11eb6
sub edi, 0x4a06
add byte [edi - 0x75], bl
test dword [eax - 8], esi
invalid
inc dword [ebx]
test dword [esi + edi*8 - 1], ebx
dec dword [edi]
mov esi, 0x5c958b08
invalid
invalid
dec dword [edi]
mov esi, 0xf62c1584
invalid
invalid
cmp ecx, eax
jne 0x407723
mov dword [ebp - 0xce4], 0
jmp 0x407792
push edx
or edx, 0x3d29
jmp 0x407733
pop edx
push ecx
call 0x407745
add byte [ecx + 0x50], cl
cmp al, 0x36
inc esp
inc ecx
cmp cl, byte [edx + 0x48]
cmp dword [ebx + 0x525904c4], eax
push eax
add esp, 4
add edx, 0x1afb
pop edx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
or ecx, 0x20
cmp edx, ecx
jge 0x407788
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x407792
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x4077a9
invalid
xchg ebp, eax
loopne 0x407784
invalid