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

Disassembly:
mov edx, dword [esp + 8]
sub esp, 0x1bc
cmp edx, 6
push ebp
mov ebp, dword [esp + 0x1c4]
jg 0x529a3d
mov ecx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x5e567c]
add ecx, eax
mov dword [esp + 8], ecx
mov ecx, dword [edx*4 + 0x5e5694]
mov edx, dword [ebp + 0xc4]
push ebx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x60]
add ecx, eax
push esi
push edi
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x7c]
push ecx
push edx
xor edi, edi
call fcn.004ce8c0
mov ebx, 1
mov esi, eax
call fcn.00403230
mov ecx, dword [ebp + 0xc4]
lea eax, [esp + 0x2c]
push eax
push ecx
call fcn.004ce8c0
mov esi, eax
call fcn.00403230
mov edx, dword [esp + 0x1d4]
cmp dword [esp + 0x2c], edx
jne 0x5292c7
mov ecx, dword [ebp + 0xcc]
lea eax, [esp + 0x2c]
push eax
push ecx
call fcn.004ce8c0
mov esi, eax
call fcn.00403230
mov edx, dword [esp + 0x1d4]
cmp dword [esp + 0x2c], edx
jne 0x5292c7
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 0
push eax
push ecx
mov edi, ebx
push 7
jmp 0x5293ab
mov eax, dword [ebp + 0xd4]
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.004ce8c0
mov ebx, 1
mov esi, eax
call fcn.00403230
mov ecx, dword [esp + 0x1d4]
cmp dword [esp + 0x2c], ecx
jne 0x52933b
mov eax, dword [ebp + 0xc4]
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.004ce8c0
mov esi, eax
call fcn.00403230
mov ecx, dword [esp + 0x1d4]
cmp dword [esp + 0x2c], ecx
je 0x52933b
lea ecx, [ebp + 0xc8]
call fcn.0042e300
cmp eax, dword [esp + 0x1d4]
je 0x52933b
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
xor edi, edi
push edi
push edx
push eax
push 8
jmp 0x5293ab
mov edx, dword [ebp + 0xcc]
lea ecx, [esp + 0x2c]
push ecx
push edx
call fcn.004ce8c0
mov ebx, 1
mov esi, eax
call fcn.00403230
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x1d4]
jne 0x52939d
mov edx, dword [ebp + 0xc4]
lea ecx, [esp + 0x2c]
push ecx
push edx
call fcn.004ce8c0
mov esi, eax
call fcn.00403230
mov eax, dword [esp + 0x1d4]
cmp dword [esp + 0x2c], eax
je 0x52939d
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0
push ecx
push edx
or edi, 0xffffffff
push 6
jmp 0x5293ab
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 0
push eax
push ecx
push 5
push 0xe30d0
call fcn.00533850
mov edx, dword [esp + 0x1e8]
imul edx, edx, 0x358
mov al, byte [edx + ebp + 0x885c]
lea esi, [edx + ebp]
add esp, 0x14
cmp al, 1
mov dword [esp + 0x2c], esi
jne 0x5293ef
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0
lea ecx, [edi + eax + 3]
push ecx
lea eax, [edi + edx + 5]
push eax
push 0x1b
jmp 0x529409
test al, al
jne 0x529416
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push 0
lea edx, [edi + ecx + 3]
push edx
lea ecx, [edi + eax + 5]
push ecx
push 0x1c
push 0xe30d1
call fcn.00533850
add esp, 0x14
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push 0
add esi, 0x8878
lea ebx, [edi + edx + 7]
lea ebp, [edi + eax]
push esi
lea eax, [ebp + 0x1b]
push ebx
push eax
call fcn.005337a0
push 0xffff
push esi
lea eax, [ebp + 0x1b]
push ebx
push eax
call fcn.005336f0
mov ecx, dword [esp + 0x30]
xor esi, esi
push esi
lea edx, [edi + ecx + 0x40]
mov ecx, dword [esp + 0x1f8]
push edx
lea eax, [ebp + 0x81]
push eax
add ecx, 0x4e20
push esi
push ecx
call fcn.00533850
mov edx, dword [esp + 0x60]
add esp, 0x34
add edx, 0x8964
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x5c], 9
mov dword [esp + 0x60], 0x14
mov dword [esp + 0x64], 0xc
mov dword [esp + 0x68], 0xe
mov dword [esp + 0x6c], 0x10
mov dword [esp + 0x70], 0x12
mov dword [esp + 0x74], 0x16
mov dword [esp + 0x78], 0xa
mov dword [esp + 0x3c], 8
mov dword [esp + 0x40], 0x15
mov dword [esp + 0x44], 0xd
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x4c], 0x11
mov dword [esp + 0x50], 0x13
mov dword [esp + 0x54], 0x17
mov dword [esp + 0x58], 0xb
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], esi
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.004ce8c0
mov ebx, 1
mov esi, eax
call fcn.00403230
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x529678
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
lea eax, [esp + 0xac]
push eax
push edx
call fcn.004ce8c0
mov esi, eax
call fcn.00403230
mov eax, dword [esp + 0xac]
test eax, eax
push 0
jge 0x5295c9
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
imul eax, eax, 0x26
mov edx, dword [esp + 0x14]
add eax, edi
add eax, ecx
lea ecx, [edi + edx + 0x72]
mov edx, dword [esp + 0x24]
add ecx, edx
push ecx
mov dword [esp + 0x30], eax
add eax, 0xd
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + eax + 0x68]
push ecx
push 0xe30d1
call fcn.00533850
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
add esp, 0x14
lea edx, [esp + 0xbc]
push edx
push ecx
call fcn.004ce8c0
mov esi, eax
call fcn.00403230
mov edx, dword [esp + 0xbc]
neg edx
jmp 0x52962d
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
imul ecx, ecx, 0x26
add ecx, edi
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
lea ecx, [edi + ecx + 0x72]
add ecx, edx
push ecx
mov dword [esp + 0x30], eax
add eax, 0xd
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + eax + 0x48]
push ecx
push 0xe30d1
call fcn.00533850
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
add esp, 0x14
lea edx, [esp + 0x9c]
push edx
push ecx
call fcn.004ce8c0
mov ebx, 1
mov esi, eax
call fcn.00403230
mov edx, dword [esp + 0x9c]
push edx
lea eax, [esp + 0x150]
push str._02d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [esp + 0x1c]
add esp, 0xc
push 6
push 2
lea ecx, [esp + 0x154]
push ecx
mov ecx, dword [esp + 0x2c]
lea eax, [edi + edx + 0x73]
mov edx, dword [esp + 0x34]
push 0x1f
push 0x32
add eax, ecx
push eax
add edx, 0x19
push edx
call fcn.00533910
add esp, 0x1c
jmp 0x52971a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
imul eax, eax, 0x26
mov edx, dword [esp + 0x10]
add eax, edi
add eax, ecx
lea ecx, [edi + edx + 0x72]
mov edx, dword [esp + 0x20]
push 0
add ecx, edx
push ecx
mov dword [esp + 0x30], eax
add eax, 0xd
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + eax + 0x48]
push ecx
push 0xe30d1
call fcn.00533850
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
add esp, 0x14
lea edx, [esp + 0x7c]
push edx
push ecx
call fcn.004ce8c0
mov ebx, 1
mov esi, eax
call fcn.00403230
mov edx, dword [esp + 0x7c]
push edx
lea eax, [esp + 0x150]
push str._02d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [esp + 0x1c]
push 6
push 2
lea ecx, [esp + 0x160]
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [edi + edx + 0x73]
mov edx, dword [esp + 0x40]
push 0x1f
push 0x32
add eax, ecx
push eax
add edx, 0x19
push edx
call fcn.00533910
add esp, 0x28
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 4
mov dword [esp + 0x18], eax
jne 0x529738
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
add eax, 4
add esi, 8
cmp eax, 0x20
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
jl 0x529510
mov ebx, dword [esp + 0x2c]
cmp byte [ebx + 0x88dc], 1
jne 0x529856
mov eax, dword [ebx + 0x889c]
push eax
lea ecx, [esp + 0xd0]
push 0x586934
push ecx
call fcn.00553270
lea eax, [esp + 0xd8]
add esp, 0xc
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x529790
mov esi, dword [esp + 0x10]
push 3
push 7
sub eax, ecx
push eax
lea edx, [esp + 0xd8]
push edx
push 0x33
push 0x29
push 0x32
lea eax, [edi + esi + 0x81]
push eax
lea eax, [ebp + 0x90]
call fcn.0042d6f0
push 0x6222
push 0x7a122
push 0x88a3dc
lea ebx, [edi + esi + 0x82]
call fcn.004475f0
push eax
push ebx
push 0xffffffffffffffff
push 0x7a122
push 0x88a3dc
call fcn.004475f0
push eax
call fcn.00530ad0
mov ecx, ebp
sub ecx, eax
add ecx, 0xf8
add esp, 8
push ecx
call fcn.005337a0
add esp, 0x10
push 0xff29
push 0x7a122
push 0x88a3dc
call fcn.004475f0
push eax
push ebx
push 0xffffffffffffffff
push 0x7a122
push 0x88a3dc
call fcn.004475f0
push eax
call fcn.00530ad0
mov edx, ebp
sub edx, eax
add esp, 8
add edx, 0xf8
push edx
call fcn.005336f0
mov ebx, dword [esp + 0x3c]
jmp 0x5298e8
mov eax, dword [esp + 0x10]
push 0x6222
push 0x7a129
push 0x88a3dc
lea esi, [edi + eax + 0x82]
call fcn.004475f0
push eax
push esi
push 0xffffffffffffffff
push 0x7a129
push 0x88a3dc
call fcn.004475f0
push eax
call fcn.00530ad0
mov ecx, ebp
sub ecx, eax
add ecx, 0xf8
add esp, 8
push ecx
call fcn.005337a0
add esp, 0x10
push 0xff29
push 0x7a129
push 0x88a3dc
call fcn.004475f0
push eax
push esi
push 0xffffffffffffffff
push 0x7a129
push 0x88a3dc
call fcn.004475f0
push eax
call fcn.00530ad0
mov edx, ebp
sub edx, eax
add esp, 8
add edx, 0xf8
push edx
call fcn.005336f0
mov esi, dword [esp + 0x20]
mov al, byte [ebx + 0x88dd]
add esp, 0x10
cmp al, 1
jne 0x5299b2
mov eax, dword [ebx + 0x88a0]
push eax
lea ecx, [esp + 0xd0]
push 0x586934
push ecx
call fcn.00553270
lea eax, [esp + 0xd8]
add esp, 0xc
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x529920
push 3
push 7
sub eax, ecx
push eax
lea edx, [esp + 0xd8]
push edx
push 0x3e
push 0x34
push 0x32
lea eax, [edi + esi + 0x73]
push eax
lea eax, [ebp + 0x90]
call fcn.0042d6f0
push 0x9cc
push 0x7a123
push 0x88a3dc
lea edi, [edi + esi + 0x74]
call fcn.004475f0
push eax
push edi
push 0xffffffffffffffff
push 0x7a123
push 0x88a3dc
call fcn.004475f0
push eax
call fcn.00530ad0
mov ecx, ebp
sub ecx, eax
add ecx, 0xf8
add esp, 8
push ecx
call fcn.005337a0
add esp, 0x10
push 0x8dfc
push 0x7a123
push 0x88a3dc
call fcn.004475f0
push eax
push edi
push 0xffffffffffffffff
push 0x7a123
jmp 0x529a16
push 0x9cc
push 0x7a128
push 0x88a3dc
lea edi, [edi + esi + 0x74]
call fcn.004475f0
push eax
push edi
push 0xffffffffffffffff
push 0x7a128
push 0x88a3dc
call fcn.004475f0
push eax
call fcn.00530ad0
mov edx, ebp
sub edx, eax
add edx, 0xf8
add esp, 8
push edx
call fcn.005337a0
add esp, 0x10
push 0x8dfc
push 0x7a128
push 0x88a3dc
call fcn.004475f0
push eax
push edi
push 0xffffffffffffffff
push 0x7a128
push 0x88a3dc
call fcn.004475f0
push eax
call fcn.00530ad0
sub ebp, eax
add ebp, 0xf8
add esp, 8
push ebp
call fcn.005336f0
add esp, 0x10
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x1bc
ret 8