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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
push edi
mov edi, ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov eax, dword [eax]
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x70]
push ecx
push eax
push edi
mov dword [esp + 0x2c], edi
call fcn.00481075
test al, al
jne 0x48111e
push dword [ebp + 0x10]
mov eax, esi
mov ecx, ebx
mov edx, edi
call fcn.004817b8
jmp 0x4817af
mov eax, dword [esi]
mov edx, dword [edi + 0x240]
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
movsx ecx, word [ecx + 0xa]
xor edi, edi
inc eax
mov dword [esi], eax
mov dword [esp + 0x7c], edx
mov edx, dword [ebx + 4]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], edi
mov edx, dword [edx + eax*4]
cmp word [edx + 8], 0x47
mov dword [esp + 0x78], ecx
mov dword [esp + 0x4c], 0x46be08
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], edi
je 0x48117a
push ecx
push 0x6f
jmp 0x481791
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov eax, esi
lea edx, [esp + 0x20]
mov esi, ebx
call fcn.00481017
test eax, eax
jne 0x48179a
mov eax, dword [esp + 0x64]
call fcn.0045ee1b
cmp dword [esp + 0x30], edi
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edi
jle 0x481386
cmp ecx, dword [esp + 0x1c]
jae 0x481386
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
mov eax, dword [eax + 4]
inc dword [esp + 0x2c]
lea eax, [eax + esi*4]
mov esi, dword [eax]
xor dl, dl
cmp word [esi + 8], di
mov dword [esp + 0x34], edi
jne 0x4812d1
mov esi, eax
mov eax, dword [esi]
mov eax, dword [eax]
cmp eax, 0x23
jne 0x481208
mov dl, 1
jmp 0x481219
cmp eax, 0x1e
jne 0x481423
mov dword [esp + 0x34], 0x100
inc dword [esp + 0x10]
add esi, 4
mov eax, dword [esi]
cmp word [eax + 8], di
je 0x4811fb
test dl, dl
je 0x4812d1
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x33
jne 0x48142f
mov edi, dword [eax]
lea ecx, [esp + 0x5c]
push ecx
xor ecx, ecx
lea esi, [esp + 0x64]
call fcn.00465738
test al, al
je 0x48143c
mov eax, 0x100
test dword [esp + 0x60], eax
je 0x481270
test dword [esp + 0x34], eax
je 0x481452
inc dword [esp + 0x18]
mov esi, dword [esp + 0x5c]
inc dword [esp + 0x10]
cmp dword [esi + 8], 5
jne 0x4812b4
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x4e
jne 0x4812b4
call fcn.00467a67
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x20]
mov ecx, ebx
call fcn.00484fee
test eax, eax
jne 0x48179a
push dword [esp + 0x5c]
lea esi, [esp + 0x3c]
call fcn.00468867
mov eax, esi
push eax
lea esi, [esp + 0x50]
call fcn.0046690c
xor edi, edi
jmp 0x48132d
push edi
lea esi, [esp + 0x3c]
call fcn.00468165
mov eax, esi
push eax
lea esi, [esp + 0x50]
call fcn.0046690c
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov eax, dword [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.00485f14
test eax, eax
jne 0x48179a
inc dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x41
jne 0x48132d
add dword [esp + 0x10], 2
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x1c]
je 0x481386
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x40
jne 0x48146b
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x1c]
je 0x48146b
mov edx, dword [esp + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + edx*4]
cmp word [eax + 8], 0x40
jne 0x481374
inc dword [esp + 0x10]
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x30]
jl 0x4811cb
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x8c]
jl 0x48178b
cmp eax, dword [esp + 0x30]
jg 0x48178b
cmp ecx, dword [esp + 0x1c]
jne 0x48178b
push 3
pop ebx
call fcn.00465795
xor ecx, ecx
inc ecx
cmp dword [esp + 0x30], ecx
mov dword [esp + 0x24], ecx
jl 0x481517
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
or word [esp + 0x88], 0xffff
mov dword [esp + 0x68], 0x46b658
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x34], edi
lea ecx, [eax + ebx*4]
mov esi, dword [ecx]
cmp word [esi + 8], 0
mov word [esp + 0x8a], di
mov byte [esp + 0x23], 0
jne 0x4815af
mov esi, ecx
mov ecx, dword [esi]
mov ecx, dword [ecx]
cmp ecx, 0x23
jne 0x48147b
mov byte [esp + 0x23], 1
jmp 0x481485
push 0xffffffffffffffff
push 0x91
jmp 0x481791
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
jmp 0x481425
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
push 0x79
jmp 0x481791
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
push 0xb0
jmp 0x481791
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
jmp 0x481173
cmp ecx, 0x1e
jne 0x481489
mov edi, 0x100
inc ebx
add esi, 4
mov ecx, dword [esi]
cmp word [ecx + 8], 0
je 0x481413
cmp byte [esp + 0x23], 0
je 0x4815af
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp dword [ecx + 8], 6
jne 0x4814ad
mov ecx, dword [ecx]
jmp 0x4814af
xor ecx, ecx
cmp dword [0x47f048], 0
mov eax, dword [eax + ebx*4]
mov esi, dword [eax]
je 0x4816cb
test ecx, ecx
je 0x4816cb
push ecx
mov eax, 0x47f048
or edi, 0x200
call fcn.004848d1
push eax
mov eax, edi
mov ecx, esi
call fcn.00467654
inc ebx
inc ebx
lea ecx, [esp + 0x80]
call fcn.00467377
lea ecx, [esp + 0x68]
call fcn.0045ecc5
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], 4
xor edi, edi
cmp eax, dword [esp + 0x30]
jle 0x4813cc
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x90], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xac], edi
lea edi, [eax + 0x220]
lea esi, [esp + 0x90]
mov dword [eax + 0x240], edx
mov dword [esp + 0x98], ecx
mov byte [esp + 0xa0], 0
mov byte [esp + 0xa8], 0
mov byte [esp + 0xb0], 0
call fcn.00472097
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
push 0
inc eax
push eax
call fcn.00471ce2
mov eax, edi
call fcn.00472165
cmp byte [eax + 0x10], 0
mov eax, dword [ebp + 0x14]
je 0x4816fb
mov byte [eax], 1
mov eax, edi
call fcn.00472165
mov ebx, dword [ebp + 0x10]
push eax
call fcn.00467fb1
jmp 0x481708
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x2c]
jle 0x481676
lea esi, [esp + 0x68]
call fcn.0045ed58
mov eax, dword [esp + 0x28]
and dword [esp + 0x34], 0
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx*4 + 8]
movzx ecx, word [eax + 8]
cmp cx, 0x4a
je 0x4815e9
cmp cx, 0x49
je 0x4815e9
push eax
jmp 0x4815fe
push eax
lea esi, [esp + 0x6c]
call fcn.0045ecde
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
push dword [eax + ebx*4 + 0xc]
lea esi, [esp + 0x6c]
call fcn.0045ecde
push 0x7f
lea esi, [esp + 0x84]
call fcn.004673de
mov eax, esi
push eax
lea esi, [esp + 0x6c]
call fcn.0045ecde
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffff
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, esi
push eax
call fcn.00485f14
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx*4]
mov esi, dword [eax]
or edi, 0x200
cmp dword [0x47f048], 0
lea eax, [esp + 0x38]
push eax
jne 0x481660
push 0x47f044
jmp 0x48166b
mov eax, 0x47f048
call fcn.004848d1
push eax
mov eax, edi
mov ecx, esi
call fcn.004675cf
jmp 0x481691
mov edx, dword [eax + ebx*4]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
mov esi, edi
mov edi, dword [edx]
xor eax, eax
or esi, 0x200
inc eax
call fcn.00465704
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx*4 + 4]
cmp word [ecx + 8], 0x41
jne 0x4814e4
mov eax, dword [eax + ebx*4 + 8]
movzx eax, word [eax + 8]
cmp ax, 0x4a
je 0x4816c3
cmp ax, 0x49
je 0x4816c3
add ebx, 4
jmp 0x4814e6
add ebx, 5
jmp 0x4814e6
mov eax, dword [edx + 4]
mov eax, dword [eax + ebx*4]
movsx eax, word [eax + 0xa]
mov ebx, dword [esp + 0x14]
push eax
push 0x79
call fcn.00470797
lea ecx, [esp + 0x80]
call fcn.00467377
lea ecx, [esp + 0x68]
call fcn.0045ecc5
jmp 0x48179a
mov esi, dword [ebp + 0x10]
push 0
mov byte [eax], 0
call fcn.00468165
mov eax, edi
call fcn.00472165
cmp byte [eax + 0x18], 0
je 0x48171f
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xa4], ecx
cmp byte [eax + 0x20], 0
je 0x48172f
mov eax, dword [eax + 0x1c]
mov dword [esp + 0xac], eax
mov esi, edi
call fcn.0047210e
mov esi, dword [esp + 0x14]
push 0
push dword [esp + 0xa8]
mov eax, esi
call fcn.00471fd2
push 0
push dword [esp + 0xb0]
mov eax, esi
call fcn.00472005
call fcn.004657ed
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x90]
mov dword [esi + 0x240], eax
call fcn.00467b15
lea ecx, [esp + 0x38]
call fcn.00467b15
lea ecx, [esp + 0x4c]
call fcn.004668f3
xor eax, eax
jmp 0x4817af
push dword [esp + 0x78]
push 0x70
mov ebx, dword [esp + 0x1c]
call fcn.00470797
lea ecx, [esp + 0x38]
call fcn.00467b15
lea ecx, [esp + 0x4c]
call fcn.004668f3
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10