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

Disassembly:
mov edx, dword [esp + 8]
sub esp, 0x14c
cmp edx, 6
jg 0x540a1c
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 0x5c]
push ebx
push ebp
mov ebp, dword [edx*4 + 0x5fc704]
mov edx, dword [edx*4 + str.JJ]
push esi
mov esi, dword [eax + 0x60]
mov eax, dword [eax + 0xac]
add ebp, ecx
mov dword [esp + 0x20], ecx
mov ecx, esi
add edx, ecx
push edi
mov dword [esp + 0x10], edx
lea edx, [esp + 0x7c]
push edx
push eax
mov dword [esp + 0x30], esi
xor edi, edi
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov edx, dword [esp + 0x160]
mov eax, dword [edx + 0xac]
lea ecx, [esp + 0x24]
push ecx
push eax
call fcn.004d3720
mov esi, eax
call fcn.004031f0
mov ecx, dword [esp + 0x164]
cmp dword [esp + 0x24], ecx
jne 0x54013c
mov eax, dword [esp + 0x160]
mov ecx, dword [eax + 0xb4]
lea edx, [esp + 0x24]
push edx
push ecx
call fcn.004d3720
mov esi, eax
call fcn.004031f0
mov edx, dword [esp + 0x164]
cmp dword [esp + 0x24], edx
jne 0x54013c
mov eax, dword [esp + 0x10]
push 0
push eax
push ebp
mov edi, ebx
push 7
jmp 0x540237
mov edx, dword [esp + 0x160]
mov eax, dword [edx + 0xbc]
lea ecx, [esp + 0x24]
push ecx
push eax
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov ecx, dword [esp + 0x164]
cmp dword [esp + 0x24], ecx
jne 0x5401c1
mov eax, dword [esp + 0x160]
mov ecx, dword [eax + 0xac]
lea edx, [esp + 0x24]
push edx
push ecx
call fcn.004d3720
mov esi, eax
call fcn.004031f0
mov edx, dword [esp + 0x164]
cmp dword [esp + 0x24], edx
je 0x5401c1
mov ecx, dword [esp + 0x160]
add ecx, 0xb0
call fcn.00432f90
cmp eax, dword [esp + 0x164]
je 0x5401c1
mov eax, dword [esp + 0x10]
xor edi, edi
push edi
push eax
push ebp
push 8
jmp 0x540237
mov edx, dword [esp + 0x160]
mov eax, dword [edx + 0xb4]
lea ecx, [esp + 0x24]
push ecx
push eax
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x164]
jne 0x54022d
mov eax, dword [esp + 0x160]
mov ecx, dword [eax + 0xac]
lea edx, [esp + 0x24]
push edx
push ecx
call fcn.004d3720
mov esi, eax
call fcn.004031f0
mov edx, dword [esp + 0x164]
cmp dword [esp + 0x24], edx
je 0x54022d
mov eax, dword [esp + 0x10]
push 0
push eax
push ebp
or edi, 0xffffffff
push 6
jmp 0x540237
mov ecx, dword [esp + 0x10]
push 0
push ecx
push ebp
push 5
push 0xe30d0
call fcn.0054b850
mov esi, dword [esp + 0x178]
mov ebx, dword [esp + 0x174]
mov edx, esi
imul edx, edx, 0x350
lea eax, [edx + ebx]
mov dword [esp + 0x4c], eax
mov al, byte [eax + 0x87b4]
add esp, 0x14
cmp al, 1
jne 0x54027f
mov eax, dword [esp + 0x10]
push 0
lea ecx, [edi + eax + 3]
push ecx
lea edx, [edi + ebp + 5]
push edx
push 0x1b
jmp 0x540295
test al, al
jne 0x5402a2
mov eax, dword [esp + 0x10]
push 0
lea ecx, [edi + eax + 3]
push ecx
lea edx, [edi + ebp + 5]
push edx
push 0x1c
push 0xe30d1
call fcn.0054b850
add esp, 0x14
mov eax, dword [esp + 0x10]
add esi, 0x29
imul esi, esi, 0x350
push 0
add esi, ebx
lea ebx, [edi + eax + 7]
push esi
lea eax, [edi + ebp + 0x1b]
push ebx
push eax
call fcn.0054b7f0
push 0xffff
push esi
lea eax, [edi + ebp + 0x1b]
push ebx
push eax
call fcn.0054b790
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x184]
xor ebx, ebx
push ebx
lea edx, [edi + ecx + 0x40]
push edx
lea eax, [edi + ebp + 0x81]
push eax
lea ecx, [esi + 0x4e20]
push ebx
push ecx
call fcn.0054b850
mov eax, esi
add esp, 0x34
imul eax, eax, 0x6a
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
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], ebx
mov dword [esp + 0x24], eax
jmp 0x5403a0
mov eax, dword [esp + 0x24]
lea ebx, [ebx]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x160]
add eax, edx
lea eax, [ecx + eax*8 + 0x88b4]
lea edx, [esp + 0xbc]
mov dword [esp + 0x34], eax
mov eax, dword [eax]
push edx
push eax
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x540467
mov edx, dword [esp + 0x1c]
test edx, edx
push 0
jne 0x540413
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul ecx, ecx, 0x26
add ecx, edi
lea eax, [edi + edx + 0x72]
mov edx, dword [esp + 0x1c]
add ecx, ebp
add eax, edx
mov dword [esp + 0x24], ecx
push eax
add ecx, 0xd
push ecx
push 9
jmp 0x54043a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
imul eax, eax, 0x26
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + edx*4 + 0x40]
add eax, edi
add eax, ebp
lea ecx, [edi + ecx + 0x72]
add ecx, esi
mov dword [esp + 0x24], eax
push ecx
add eax, 0xd
push eax
push edx
push 0xe30d1
call fcn.0054b850
mov ax, word [0x5a448c]
mov cl, byte [0x5a448e]
add esp, 0x14
mov word [esp + 0x8c], ax
mov byte [esp + 0x8e], cl
jmp 0x540574
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
lea edx, [esp + 0xcc]
push edx
push ecx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0xcc]
test eax, eax
push 0
jle 0x5404ff
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
imul edx, edx, 0x26
add edx, edi
lea eax, [edx + ebp]
mov edx, dword [esp + 0x1c]
lea ecx, [edi + ecx + 0x72]
add ecx, edx
push ecx
mov dword [esp + 0x28], eax
add eax, 0xd
push eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + eax*4 + 0x48]
push ecx
push 0xe30d1
call fcn.0054b850
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
add esp, 0x14
lea edx, [esp + 0xac]
push edx
push ecx
call fcn.004d3720
mov esi, eax
call fcn.004031f0
mov edx, dword [esp + 0xac]
push edx
push str._02d
lea eax, [esp + 0x94]
push eax
jmp 0x54056c
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul ecx, ecx, 0x26
add ecx, edi
lea eax, [ecx + ebp]
lea ecx, [edi + edx + 0x72]
mov edx, dword [esp + 0x1c]
add ecx, edx
push ecx
mov dword [esp + 0x28], eax
add eax, 0xd
push eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + eax*4 + 0x68]
push ecx
push 0xe30d1
call fcn.0054b850
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
add esp, 0x14
lea edx, [esp + 0x7c]
push edx
push ecx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0x7c]
cdq
xor eax, edx
sub eax, edx
push eax
push str._02d
lea edx, [esp + 0x94]
push edx
call fcn.0056aefc
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 6
push 2
lea eax, [esp + 0x94]
push eax
push 0x1f
lea eax, [edi + ecx + 0x73]
add eax, edx
push 0x32
push eax
mov eax, dword [esp + 0x38]
add eax, 0x19
push eax
call fcn.0054b910
mov eax, dword [esp + 0x30]
add esp, 0x1c
inc eax
cmp eax, 4
mov dword [esp + 0x14], eax
jne 0x5405c1
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0xf
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, 8
mov dword [esp + 0x1c], eax
jl 0x540396
push 0xffffffffffffffff
push 0x7a128
push 0x8a3708
call fcn.0044ee40
push eax
call fcn.005489b0
mov esi, dword [esp + 0x40]
mov al, byte [esi + 0x882c]
add esp, 8
cmp al, 1
jne 0x5408c2
cmp byte [esi + 0x882d], al
jne 0x54077a
push 0xffffffffffffffff
push 0x7a122
push 0x8a3708
call fcn.0044ee40
push eax
call fcn.005489b0
mov ecx, dword [esi + 0x87ec]
push ecx
lea edx, [esp + 0xe8]
push 0x59dc0c
push edx
mov ebx, eax
call fcn.0056aefc
lea eax, [esp + 0xf0]
add esp, 0x14
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x540650
mov ecx, dword [esp + 0x10]
push 3
push 7
sub eax, esi
push eax
lea edx, [esp + 0xe8]
push edx
push 0x33
push 0x29
lea esi, [edi + ecx + 0x85]
lea ecx, [edi + ebp + 0x90]
push 0x32
push esi
mov eax, ecx
call fcn.00432200
push 0x6222
mov eax, edi
push 0x7a122
sub eax, ebx
push 0x8a3708
lea ebx, [eax + ebp + 0xf8]
call fcn.0044ee40
push eax
push esi
push ebx
call fcn.0054b7f0
add esp, 0x10
push 0xff29
push 0x7a122
push 0x8a3708
call fcn.0044ee40
push eax
push esi
push ebx
call fcn.0054b790
add esp, 0x10
push 0xffffffffffffffff
push 0x7a123
push 0x8a3708
call fcn.0044ee40
push eax
call fcn.005489b0
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x87f0]
push edx
mov ebx, eax
lea eax, [esp + 0xe8]
push 0x59dc0c
push eax
call fcn.0056aefc
lea eax, [esp + 0xf0]
add esp, 0x14
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x540712
mov ecx, dword [esp + 0x10]
push 3
push 7
sub eax, esi
push eax
lea edx, [esp + 0xe8]
push edx
push 0x3e
push 0x34
lea esi, [edi + ecx + 0x74]
push 0x32
push esi
lea eax, [edi + ebp + 0x90]
call fcn.00432200
push 0x9cc
push 0x7a123
sub edi, ebx
push 0x8a3708
lea edi, [edi + ebp + 0xf8]
call fcn.0044ee40
push eax
push esi
push edi
call fcn.0054b7f0
add esp, 0x10
push 0x8dfc
push 0x7a123
jmp 0x540a03
cmp al, 1
jne 0x5408c2
mov cl, byte [esi + 0x882d]
test cl, cl
jne 0x5408c2
push 0xffffffffffffffff
push 0x7a122
push 0x8a3708
call fcn.0044ee40
push eax
call fcn.005489b0
mov ebx, eax
mov eax, dword [esi + 0x87ec]
push eax
lea ecx, [esp + 0xe8]
push 0x59dc0c
push ecx
call fcn.0056aefc
lea eax, [esp + 0xf0]
add esp, 0x14
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5407d0
mov edx, dword [esp + 0x10]
push 3
push 7
sub eax, esi
push eax
lea eax, [esp + 0xe8]
push eax
push 0x33
push 0x29
lea esi, [edi + edx + 0x74]
push 0x32
push esi
lea eax, [edi + ebp + 0x90]
call fcn.00432200
push 0x6222
mov ecx, edi
push 0x7a122
sub ecx, ebx
push 0x8a3708
lea ebx, [ecx + ebp + 0xf8]
call fcn.0044ee40
push eax
push esi
push ebx
call fcn.0054b7f0
add esp, 0x10
push 0xff29
push 0x7a122
push 0x8a3708
call fcn.0044ee40
push eax
push esi
push ebx
call fcn.0054b790
add esp, 0x10
push 0xffffffffffffffff
push 0x7a128
push 0x8a3708
call fcn.0044ee40
push eax
call fcn.005489b0
add esp, 8
push 0xffffffffffffffff
push 0x7a122
push 0x8a3708
mov ebx, eax
call fcn.0044ee40
push eax
call fcn.005489b0
mov edx, dword [esp + 0x18]
add esp, 8
push 0x6222
lea esi, [edi + edx + 0x85]
push 0x7a128
sub edi, ebx
push 0x8a3708
lea edi, [edi + ebp + 0xf8]
call fcn.0044ee40
push eax
push esi
push edi
call fcn.0054b7f0
add esp, 0x10
push 0xff29
push 0x7a128
jmp 0x540a03
test al, al
jne 0x540a18
cmp byte [esi + 0x882d], 1
jne 0x540a18
push 0xffffffffffffffff
push 0x7a123
push 0x8a3708
call fcn.0044ee40
push eax
call fcn.005489b0
mov ebx, eax
mov eax, dword [esi + 0x87f0]
push eax
lea ecx, [esp + 0xe8]
push 0x59dc0c
push ecx
call fcn.0056aefc
lea eax, [esp + 0xf0]
add esp, 0x14
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x540916
mov edx, dword [esp + 0x10]
push 3
push 7
sub eax, esi
push eax
lea eax, [esp + 0xe8]
push eax
push 0x3e
push 0x34
lea esi, [edi + edx + 0x74]
push 0x32
push esi
lea eax, [edi + ebp + 0x90]
call fcn.00432200
push 0x9cc
mov ecx, edi
push 0x7a123
sub ecx, ebx
push 0x8a3708
lea ebx, [ecx + ebp + 0xf8]
call fcn.0044ee40
push eax
push esi
push ebx
call fcn.0054b7f0
add esp, 0x10
push 0x8dfc
push 0x7a123
push 0x8a3708
call fcn.0044ee40
push eax
push esi
push ebx
call fcn.0054b790
add esp, 0x10
push 0xffffffffffffffff
push 0x7a129
push 0x8a3708
call fcn.0044ee40
push eax
call fcn.005489b0
add esp, 8
push 0xffffffffffffffff
push 0x7a123
push 0x8a3708
mov ebx, eax
call fcn.0044ee40
push eax
call fcn.005489b0
mov edx, dword [esp + 0x18]
add esp, 8
push 0x9cc
lea esi, [edi + edx + 0x85]
push 0x7a129
sub edi, ebx
push 0x8a3708
lea edi, [edi + ebp + 0xf8]
call fcn.0044ee40
push eax
push esi
push edi
call fcn.0054b7f0
add esp, 0x10
push 0x8dfc
push 0x7a129
push 0x8a3708
call fcn.0044ee40
push eax
push esi
push edi
call fcn.0054b790
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret 8