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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
mov eax, dword [0x57f0b4]
xor eax, esp
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
xor ebx, ebx
mov dword [esp + 0x18], edx
push edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], ebx
mov dword [edx], ebx
call fcn.004ac040
test eax, eax
jne 0x4af729
mov edi, dword [ebp + 8]
cmp byte [0x57fc8c], bl
jne 0x4af114
mov dword [esp + 0x20], ebx
jmp 0x4af13f
test edi, 0x8000
je 0x4af122
mov dword [esp + 0x20], ebx
jmp 0x4af13f
test edi, 0x10000
je 0x4af134
mov dword [esp + 0x20], 1
jmp 0x4af13f
movzx eax, byte [0x57fc8d]
mov dword [esp + 0x20], eax
test edi, 0x40000
je 0x4af14f
and edi, 0xfffdffff
jmp 0x4af15d
cmp dword [0x57fd50], ebx
je 0x4af15d
or edi, 0x20000
push 0
and edi, 0xfff600e7
push 0x218
mov dword [ebp + 8], edi
call fcn.0041dc00
mov esi, eax
add esp, 8
test esi, esi
je 0x4af5b4
push 0x218
push 0
push esi
call fcn.0051b820
add esp, 0xc
test esi, esi
je 0x4af5b4
cmp dword [esp + 0x20], ebx
je 0x4af1cb
cmp byte [0x57fc8c], bl
jne 0x4af1a9
xor eax, eax
jmp 0x4af1b4
push 1
call dword [0x57fcd0]
add esp, 4
mov dword [esi + 0xc], eax
test eax, eax
jne 0x4af1cb
push esi
call fcn.0041de30
add esp, 4
xor esi, esi
jmp 0x4af5b4
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4af1dc
push eax
call dword [0x57fcd8]
add esp, 4
mov eax, edi
mov dword [esi + 0x14], 2
and eax, 0x2000000
mov byte [esi + 0x61], 0x6d
neg eax
mov dword [esi + 0x130], 1
push 0
sbb eax, eax
mov edx, 0x5665d4
and eax, 0xffffff00
mov ecx, esi
add eax, 0xff
mov dword [esi + 0x48], eax
lea eax, [esi + 0x1c8]
mov dword [esi + 0x10], eax
xor eax, eax
mov word [esi + 0x134], ax
movups xmm0, xmmword [0x566058]
push fcn.004accd0
push 0
movups xmmword [esi + 0x78], xmm0
push 1
movups xmm0, xmmword [0x566068]
movups xmmword [esi + 0x88], xmm0
movups xmm0, xmmword [0x566078]
movups xmmword [esi + 0x98], xmm0
mov dword [esi + 0xa4], eax
mov byte [esi + 0x55], 1
mov byte [esi + 0x5a], 0xff
mov eax, dword [0x57fd30]
mov dword [esi + 0x30], eax
mov eax, dword [0x57fd34]
or dword [esi + 0x20], 0xe00480e0
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x64], ebx
mov dword [esi + 0xb8], 0x590ee8
mov dword [esi + 0x24], eax
mov dword [esi + 0x1b4], ebx
mov dword [esi + 0x1b0], ebx
mov dword [esi + 0x1ac], ebx
mov dword [esi + 0x1b8], ebx
mov dword [esi + 0x188], ebx
mov dword [esi + 0x184], ebx
mov dword [esi + 0x180], ebx
mov dword [esi + 0x18c], ebx
call fcn.004ae8e0
push 0
push fcn.004accd0
push 0
push 3
mov edx, 0x5665d4
mov ecx, esi
call fcn.004ae8e0
push 0
push fcn.004accd0
push 0
push 2
mov edx, 0x5665d4
mov ecx, esi
call fcn.004ae8e0
push 0
push 0x4acda0
push 0
push 1
mov edx, str.NOCASE
mov ecx, esi
call fcn.004ae8e0
add esp, 0x40
mov edx, str.RTRIM
mov ecx, esi
push 0
push 0x4acd50
push 0
push 1
call fcn.004ae8e0
add esp, 0x10
cmp byte [esi + 0x57], bl
jne 0x4af5a3
mov dword [esi + 0x3c], edi
mov eax, 1
and edi, 7
mov ecx, edi
shl eax, cl
test al, 0x46
jne 0x4af364
push 0x574e8c
push 0x2a6b9
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00420b60
add esp, 0x14
mov edi, 0x15
jmp 0x4af399
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xc]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [ebp + 8]
push esi
push eax
call fcn.004aead0
mov edi, eax
add esp, 0x10
test edi, edi
je 0x4af3bc
cmp edi, 7
jne 0x4af395
mov ecx, esi
call fcn.0041e5f0
mov ebx, dword [esp + 0xc]
xor ecx, ecx
mov eax, 0x56f680
test ebx, ebx
push ebx
cmove eax, ecx
push eax
push edi
push esi
call fcn.00421550
push ebx
call fcn.0041de30
add esp, 0x14
jmp 0x4af5a3
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x14]
or eax, 0x100
mov ecx, dword [esi]
push eax
mov eax, dword [esi + 0x10]
push 0
add eax, 4
push eax
push esi
call fcn.00433240
add esp, 0x10
test eax, eax
je 0x4af3fc
cmp eax, 0xc0a
mov ecx, 7
cmove eax, ecx
mov ecx, esi
mov edx, eax
call fcn.004214f0
jmp 0x4af5a3
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 4]
call fcn.004312b0
mov edx, dword [esi + 0x10]
mov ecx, esi
mov edx, dword [edx + 4]
call fcn.0046d1a0
mov ecx, dword [esi + 0x10]
mov dword [ecx + 0xc], eax
cmp byte [esi + 0x57], bl
jne 0x4af42f
mov eax, dword [esi + 0x10]
mov ecx, esi
mov eax, dword [eax + 0xc]
mov dl, byte [eax + 0x4d]
call fcn.0046ca00
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
cmp byte [ecx + 9], bl
je 0x4af445
add dword [ecx + 0xc], 0xffffffff
jne 0x4af445
call fcn.00431290
xor edx, edx
mov ecx, esi
call fcn.0046d1a0
mov ecx, dword [esi + 0x10]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [eax], str.main
mov eax, dword [esi + 0x10]
mov byte [eax + 8], 3
mov eax, dword [esi + 0x10]
mov dword [eax + 0x10], str.temp
mov eax, dword [esi + 0x10]
mov byte [eax + 0x18], 1
mov byte [esi + 0x61], 0x76
cmp byte [esi + 0x57], bl
jne 0x4af5a3
mov dword [esi + 0x40], ebx
cmp dword [esi + 0x124], ebx
je 0x4af498
xor edx, edx
mov ecx, esi
call fcn.00421480
jmp 0x4af49f
mov dword [esi + 0x44], 0xffffffff
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4af4b0
push eax
call dword [0x57fcd8]
add esp, 4
push 0
push 1
push 2
mov edx, str.MATCH
mov ecx, esi
call fcn.0046cde0
add esp, 0xc
neg eax
sbb edi, edi
mov eax, dword [esi + 0xc]
neg edi
test eax, eax
je 0x4af4dc
push eax
call dword [0x57fce0]
add esp, 4
test edi, edi
jne 0x4af51f
push str.MATCH
call fcn.004208c0
add esp, 4
test eax, eax
je 0x4af518
push fcn.0041de30
push edi
push edi
push edi
push edi
push 0x4adcb0
push eax
push 1
push 2
mov edx, str.MATCH
mov ecx, esi
call fcn.004adab0
add esp, 0x24
cmp eax, 7
jne 0x4af51f
mov ecx, esi
call fcn.0041e5f0
push esi
call fcn.004ae790
add esp, 4
test eax, eax
jne 0x4af54c
mov edi, 0x564ee8
cmp edi, str.rank
jge 0x4af5d8
mov eax, dword [edi]
push esi
call eax
add esp, 4
add edi, 4
test eax, eax
je 0x4af531
mov edx, eax
mov ecx, esi
call fcn.004214f0
push dword [0x57fca0]
xor edx, edx
mov ecx, esi
push dword [0x57fc9c]
call fcn.004ac810
mov eax, dword [esi + 0xc]
add esp, 8
test eax, eax
je 0x4af581
push eax
call dword [0x57fcd8]
mov eax, dword [esi + 0xc]
add esp, 4
mov dword [esi + 0x110], 0x4ae010
mov dword [esi + 0x114], 0x3e8
test eax, eax
je 0x4af5a3
push eax
call dword [0x57fce0]
add esp, 4
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4af5b4
push eax
call dword [0x57fce0]
add esp, 4
push esi
call fcn.004ae790
mov ebx, eax
add esp, 4
cmp bl, 7
jne 0x4af70d
xor edx, edx
mov ecx, esi
call fcn.004acf20
xor esi, esi
jmp 0x4af715
test eax, eax
jne 0x4af54c
mov dword [esp + 0xc], 1
cmp dword [0x629514], ebx
je 0x4af6f7
xor ebx, ebx
mov dword [esp + 0x10], ebx
nop word [eax + eax]
cmp byte [0x57fc8c], 0
jne 0x4af60d
xor edi, edi
jmp 0x4af628
push 2
call dword [0x57fcd0]
mov edi, eax
add esp, 4
test edi, edi
je 0x4af628
push edi
call dword [0x57fcd8]
add esp, 4
cmp ebx, dword [0x629514]
jb 0x4af638
xor ebx, ebx
mov dword [esp + 0xc], ebx
jmp 0x4af640
mov eax, dword [0x629518]
mov ebx, dword [eax + ebx*4]
test edi, edi
je 0x4af64e
push edi
call dword [0x57fce0]
add esp, 4
xor edi, edi
mov dword [esp + 0x20], edi
test ebx, ebx
je 0x4af687
push 0x566760
lea eax, [esp + 0x24]
push eax
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x4af683
push dword [esp + 0x20]
push str.automatic_extension_loading_failed:__s
push eax
push esi
call fcn.00421550
add esp, 0x10
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x20]
test edi, edi
je 0x4af6e3
cmp dword [0x57fc88], 0
je 0x4af6d9
mov eax, dword [0x6297b0]
test eax, eax
je 0x4af6a7
push eax
call dword [0x57fcd8]
add esp, 4
push edi
call dword [0x57fcb4]
sub dword [0x6295b8], eax
add esp, 4
dec dword [0x6295dc]
push edi
call dword [0x57fcac]
mov eax, dword [0x6297b0]
add esp, 4
test eax, eax
je 0x4af6e3
push eax
call dword [0x57fce0]
jmp 0x4af6e0
push edi
call dword [0x57fcac]
add esp, 4
mov ebx, dword [esp + 0x10]
inc ebx
cmp dword [esp + 0xc], 0
mov dword [esp + 0x10], ebx
jne 0x4af600
push esi
call fcn.004ae790
add esp, 4
test eax, eax
jne 0x4af5a3
jmp 0x4af555
test ebx, ebx
je 0x4af715
mov byte [esi + 0x61], 0xba
mov eax, dword [esp + 0x1c]
push dword [esp + 0x14]
mov dword [eax], esi
call fcn.004b0510
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00518690
mov esp, ebp
pop ebp
ret