Function at 0x4ad0c2
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.004ad075
test al, al
jne 0x4ad11e
push dword [ebp + 0x10]
mov eax, esi
mov ecx, ebx
mov edx, edi
call fcn.004ad7b8
jmp 0x4ad7af
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 0x4ad17a
push ecx
push 0x6f
jmp 0x4ad791
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.004ad017
test eax, eax
jne 0x4ad79a
mov eax, dword [esp + 0x64]
call fcn.0048ae1b
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 0x4ad386
cmp ecx, dword [esp + 0x1c]
jae 0x4ad386
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 0x4ad2d1
mov esi, eax
mov eax, dword [esi]
mov eax, dword [eax]
cmp eax, 0x23
jne 0x4ad208
mov dl, 1
jmp 0x4ad219
cmp eax, 0x1e
jne 0x4ad423
mov dword [esp + 0x34], 0x100
inc dword [esp + 0x10]
add esi, 4
mov eax, dword [esi]
cmp word [eax + 8], di
je 0x4ad1fb
test dl, dl
je 0x4ad2d1
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x33
jne 0x4ad42f
mov edi, dword [eax]
lea ecx, [esp + 0x5c]
push ecx
xor ecx, ecx
lea esi, [esp + 0x64]
call fcn.00491738
test al, al
je 0x4ad43c
mov eax, 0x100
test dword [esp + 0x60], eax
je 0x4ad270
test dword [esp + 0x34], eax
je 0x4ad452
inc dword [esp + 0x18]
mov esi, dword [esp + 0x5c]
inc dword [esp + 0x10]
cmp dword [esi + 8], 5
jne 0x4ad2b4
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x4e
jne 0x4ad2b4
call fcn.00493a67
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x20]
mov ecx, ebx
call fcn.004b0fee
test eax, eax
jne 0x4ad79a
push dword [esp + 0x5c]
lea esi, [esp + 0x3c]
call fcn.00494867
mov eax, esi
push eax
lea esi, [esp + 0x50]
call fcn.0049290c
xor edi, edi
jmp 0x4ad32d
push edi
lea esi, [esp + 0x3c]
call fcn.00494165
mov eax, esi
push eax
lea esi, [esp + 0x50]
call fcn.0049290c
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.004b1f14
test eax, eax
jne 0x4ad79a
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 0x4ad32d
add dword [esp + 0x10], 2
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x1c]
je 0x4ad386
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x40
jne 0x4ad46b
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x1c]
je 0x4ad46b
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 0x4ad374
inc dword [esp + 0x10]
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x30]
jl 0x4ad1cb
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x8c]
jl 0x4ad78b
cmp eax, dword [esp + 0x30]
jg 0x4ad78b
cmp ecx, dword [esp + 0x1c]
jne 0x4ad78b
push 3
pop ebx
call fcn.00491795
xor ecx, ecx
inc ecx
cmp dword [esp + 0x30], ecx
mov dword [esp + 0x24], ecx
jl 0x4ad517
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 0x4ad5af
mov esi, ecx
mov ecx, dword [esi]
mov ecx, dword [ecx]
cmp ecx, 0x23
jne 0x4ad47b
mov byte [esp + 0x23], 1
jmp 0x4ad485
push 0xffffffffffffffff
push 0x91
jmp 0x4ad791
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
jmp 0x4ad425
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 0x4ad791
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 0x4ad791
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
jmp 0x4ad173
cmp ecx, 0x1e
jne 0x4ad489
mov edi, 0x100
inc ebx
add esi, 4
mov ecx, dword [esi]
cmp word [ecx + 8], 0
je 0x4ad413
cmp byte [esp + 0x23], 0
je 0x4ad5af
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp dword [ecx + 8], 6
jne 0x4ad4ad
mov ecx, dword [ecx]
jmp 0x4ad4af
xor ecx, ecx
cmp dword [0x47f048], 0
mov eax, dword [eax + ebx*4]
mov esi, dword [eax]
je 0x4ad6cb
test ecx, ecx
je 0x4ad6cb
push ecx
mov eax, 0x47f048
or edi, 0x200
call fcn.004b08d1
push eax
mov eax, edi
mov ecx, esi
call fcn.00493654
inc ebx
inc ebx
lea ecx, [esp + 0x80]
call fcn.00493377
lea ecx, [esp + 0x68]
call fcn.0048acc5
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], 4
xor edi, edi
cmp eax, dword [esp + 0x30]
jle 0x4ad3cc
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.0049e097
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
push 0
inc eax
push eax
call fcn.0049dce2
mov eax, edi
call fcn.0049e165
cmp byte [eax + 0x10], 0
mov eax, dword [ebp + 0x14]
je 0x4ad6fb
mov byte [eax], 1
mov eax, edi
call fcn.0049e165
mov ebx, dword [ebp + 0x10]
push eax
call fcn.00493fb1
jmp 0x4ad708
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x2c]
jle 0x4ad676
lea esi, [esp + 0x68]
call fcn.0048ad58
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 0x4ad5e9
cmp cx, 0x49
je 0x4ad5e9
push eax
jmp 0x4ad5fe
push eax
lea esi, [esp + 0x6c]
call fcn.0048acde
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
push dword [eax + ebx*4 + 0xc]
lea esi, [esp + 0x6c]
call fcn.0048acde
push 0x7f
lea esi, [esp + 0x84]
call fcn.004933de
mov eax, esi
push eax
lea esi, [esp + 0x6c]
call fcn.0048acde
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.004b1f14
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 0x4ad660
push 0x47f044
jmp 0x4ad66b
mov eax, 0x47f048
call fcn.004b08d1
push eax
mov eax, edi
mov ecx, esi
call fcn.004935cf
jmp 0x4ad691
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.00491704
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx*4 + 4]
cmp word [ecx + 8], 0x41
jne 0x4ad4e4
mov eax, dword [eax + ebx*4 + 8]
movzx eax, word [eax + 8]
cmp ax, 0x4a
je 0x4ad6c3
cmp ax, 0x49
je 0x4ad6c3
add ebx, 4
jmp 0x4ad4e6
add ebx, 5
jmp 0x4ad4e6
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.0049c797
lea ecx, [esp + 0x80]
call fcn.00493377
lea ecx, [esp + 0x68]
call fcn.0048acc5
jmp 0x4ad79a
mov esi, dword [ebp + 0x10]
push 0
mov byte [eax], 0
call fcn.00494165
mov eax, edi
call fcn.0049e165
cmp byte [eax + 0x18], 0
je 0x4ad71f
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xa4], ecx
cmp byte [eax + 0x20], 0
je 0x4ad72f
mov eax, dword [eax + 0x1c]
mov dword [esp + 0xac], eax
mov esi, edi
call fcn.0049e10e
mov esi, dword [esp + 0x14]
push 0
push dword [esp + 0xa8]
mov eax, esi
call fcn.0049dfd2
push 0
push dword [esp + 0xb0]
mov eax, esi
call fcn.0049e005
call fcn.004917ed
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x90]
mov dword [esi + 0x240], eax
call fcn.00493b15
lea ecx, [esp + 0x38]
call fcn.00493b15
lea ecx, [esp + 0x4c]
call fcn.004928f3
xor eax, eax
jmp 0x4ad7af
push dword [esp + 0x78]
push 0x70
mov ebx, dword [esp + 0x1c]
call fcn.0049c797
lea ecx, [esp + 0x38]
call fcn.00493b15
lea ecx, [esp + 0x4c]
call fcn.004928f3
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10