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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x54376b
sub esp, 0x98
mov eax, dword [esp + 0xac]
cmp eax, 3
jge 0x5435ca
jge 0x5433e9
cmp eax, 2
jne 0x5433da
mov ecx, dword [esp + 0xa8]
movzx edx, word [ecx]
cmp dx, 0x7069
jne 0x543362
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x543359
mov ebx, dword [esp + 0xb0]
xor ebp, ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x40], edx
lea eax, [0x749580]
mov dword [esp], eax
call fcn.00409d00
mov eax, dword [esp + 4]
lea ecx, [0x554d60]
mov dword [eax], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 8], ecx
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x54333a
mov edx, dword [esp + 0xa8]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0x34]
mov dword [eax + 0xc], ebx
mov ebp, dword [esp + 0x40]
test ebp, ebp
jne 0x5430ab
lea edi, [esp + 0x70]
lea esi, [0x7ff440]
call fcn.0044cfbe
mov eax, dword [esp + 0xac]
cmp eax, 3
jge 0x542eee
jge 0x542dd6
cmp eax, 2
jne 0x542dd1
movzx ecx, word [edx]
cmp cx, 0x7069
jne 0x542da8
lea eax, [0x74c3c0]
mov dword [esp], eax
call fcn.00409d00
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x542d9c
mov dword [edi], edx
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x10], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x542d89
mov dword [edi + 0xc], eax
lea eax, [0x7ffba0]
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], edi
lea ecx, [0x7215c0]
mov dword [esp], ecx
call fcn.00409d00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
mov dword [eax], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x542d77
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0x98
ret
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x4c]
call fcn.0044c9e0
mov eax, ecx
jmp 0x542d3d
lea ecx, [edi + 0xc]
mov edx, edi
mov edi, ecx
call fcn.0044c9e0
mov edi, edx
jmp 0x542d06
mov eax, edx
call fcn.0044c9e0
jmp 0x542ce7
cmp eax, 3
jne 0x543709
movzx ecx, word [edx]
cmp cx, 0x7069
jne 0x543709
movzx ecx, byte [edx + 2]
cmp cl, 0x34
je 0x542cb3
jmp 0x543709
cmp eax, 3
jmp 0x542dab
je 0x542e9b
jne 0x542dfc
movzx ecx, word [edx]
cmp cx, 0x7069
jne 0x542e93
movzx ecx, byte [edx + 2]
cmp cl, 0x36
je 0x542cb3
cmp eax, 3
jne 0x543709
movzx ecx, word [edx]
cmp cx, 0x6374
jne 0x543709
movzx ecx, byte [edx + 2]
cmp cl, 0x70
jne 0x543709
lea eax, [0x758100]
mov dword [esp], eax
call fcn.00409d00
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 4]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x542e8a
mov dword [edi], ecx
mov ecx, dword [esp + 0x34]
mov dword [edi + 0xc], ecx
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x14], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x542e7a
mov dword [edi + 0x10], eax
lea eax, [0x7ffbe0]
jmp 0x542d0c
lea ecx, [edi + 0x10]
mov edx, edi
mov edi, ecx
call fcn.0044c9e0
mov edi, edx
jmp 0x542e6f
mov eax, ecx
call fcn.0044c9e0
jmp 0x542e4d
cmp eax, 3
jmp 0x542dfc
mov dword [esp], edx
mov dword [esp + 4], eax
lea ecx, [0x78fb10]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
call fcn.00402070
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x542ed4
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
jmp 0x542c9c
mov eax, dword [esp + 0xac]
cmp eax, 3
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x34]
jmp 0x542ddc
je 0x543054
cmp eax, 4
jge 0x542fb9
cmp eax, 3
jne 0x542fb4
movzx ecx, word [edx]
cmp cx, 0x6475
jne 0x542faf
movzx ecx, byte [edx + 2]
cmp cl, 0x70
jne 0x542f93
lea eax, [0x758180]
mov dword [esp], eax
call fcn.00409d00
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x542f8a
mov dword [edi], edx
mov ecx, dword [esp + 0x34]
mov dword [edi + 0xc], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [edi + 0x14], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x542f7a
mov dword [edi + 0x10], eax
lea eax, [0x7ffc00]
jmp 0x542d0c
lea ecx, [edi + 0x10]
mov edx, edi
mov edi, ecx
call fcn.0044c9e0
mov edi, edx
jmp 0x542f6f
mov eax, edx
call fcn.0044c9e0
jmp 0x542f4d
cmp eax, 4
jne 0x543709
mov ecx, dword [edx]
cmp ecx, 0x34706374
je 0x542e1d
jmp 0x543709
cmp eax, 4
jmp 0x542f96
cmp eax, 4
jmp 0x542f96
je 0x542ffa
jne 0x542fce
mov ecx, dword [edx]
cmp ecx, 0x36706374
je 0x542e1d
cmp eax, 4
jne 0x542fe1
mov ecx, dword [edx]
cmp ecx, 0x34706475
je 0x542f1d
cmp eax, 4
jne 0x543709
mov ecx, dword [edx]
cmp ecx, 0x36706475
je 0x542f1d
jmp 0x543709
mov dword [esp], edx
mov dword [esp + 4], eax
lea ecx, [0x790300]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
call fcn.00402070
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x54303a
mov eax, dword [esp + 0xac]
cmp eax, 3
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x34]
jmp 0x542f00
mov eax, dword [esp + 0xac]
cmp eax, 4
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x34]
jmp 0x542fbb
mov dword [esp], edx
mov dword [esp + 4], eax
lea ecx, [0x78fb8e]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
call fcn.00402070
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x543094
mov eax, dword [esp + 0xac]
cmp eax, 3
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x34]
jmp 0x542c96
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x34]
jmp 0x542ef4
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call fcn.00544900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
test edx, edx
jne 0x543304
cmp ebp, 1
je 0x5431c8
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x5431bf
mov edx, dword [esp + 0xa8]
movzx esi, byte [edx + ecx - 1]
xchg esi, eax
cmp al, 0x34
xchg esi, eax
jne 0x5431b3
test ecx, ecx
lea esi, [0x7aef30]
je 0x5431af
movzx ecx, byte [edx + ecx - 1]
cmp cl, 0x36
jne 0x5431af
lea ecx, [0x7aef34]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
call fcn.00542010
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ecx
add esp, 0x98
ret
mov ecx, esi
jmp 0x543145
test ecx, ecx
mov esi, 0
jmp 0x543133
mov edx, dword [esp + 0xa8]
jmp 0x5431b5
mov dword [esp + 0x50], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebp
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ecx, dword [0xa75e6c]
mov edx, dword [0xa75e68]
mov ebx, dword [0xa75e70]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
call fcn.0053e440
movzx eax, byte [esp + 0x18]
test al, al
je 0x5432f3
lea edi, [esp + 0x84]
xor eax, eax
call fcn.0044cadb
mov ecx, dword [0xa7d708]
mov edx, dword [0xa7d70c]
mov ebx, dword [0xa7d710]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ebx
mov ecx, dword [esp + 0x38]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x3c]
cmp edx, ebx
jg 0x5432b9
mov eax, dword [esp + 0x50]
lea ecx, [ecx + ecx*4]
mov ebp, dword [0xa8f2d0]
lea edi, [eax + ecx*4]
test ebp, ebp
jne 0x543282
lea esi, [esp + 0x84]
call fcn.0044cfbe
mov ebp, edx
jmp 0x543105
mov dword [esp + 0x58], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebx
lea eax, [0x74c3c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
call fcn.0040f700
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
jmp 0x54327b
lea eax, [0x74c3c0]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438b40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x38]
jmp 0x54325f
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
jmp 0x543105
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ecx
add esp, 0x98
ret
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0xa8]
call fcn.0044c9e0
mov eax, edx
mov edx, dword [esp + 0xa8]
jmp 0x542c64
xor edx, edx
xor ebx, ebx
jmp 0x542c1a
cmp eax, 3
jne 0x54337e
movzx edx, word [ecx]
cmp dx, 0x7069
jne 0x54337e
movzx edx, byte [ecx + 2]
cmp dl, 0x34
je 0x542c04
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
lea eax, [0x7fede0]
mov dword [esp], eax
lea eax, [esp + 0x68]
mov dword [esp + 4], eax
call fcn.00407850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x98
ret
cmp eax, 3
mov ecx, dword [esp + 0xa8]
jmp 0x543365
je 0x543582
jne 0x543576
mov ecx, dword [esp + 0xa8]
movzx edx, word [ecx]
cmp dx, 0x7069
jne 0x54356e
movzx edx, byte [ecx + 2]
cmp dl, 0x36
je 0x542c04
cmp eax, 3
jne 0x54337e
movzx edx, word [ecx]
cmp dx, 0x6374
jne 0x54337e
movzx edx, byte [ecx + 2]
cmp dl, 0x70
jne 0x54337e
mov edx, dword [esp + 0xb4]
test edx, edx
jne 0x543457
xor edx, edx
xor ebx, ebx
xor ebp, ebp
mov esi, ebp
mov ebp, edx
mov edx, esi
jmp 0x542c1c
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00542340
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
test ebp, ebp
jne 0x543538
mov dword [esp + 0x40], edx
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x9c]
mov dword [esp], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.005452e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test ecx, ecx
jne 0x543502
mov ecx, dword [esp + 0xa8]
mov edx, eax
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0xac]
jmp 0x54344c
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
add esp, 0x98
ret
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], esi
add esp, 0x98
ret
cmp eax, 3
jmp 0x54341a
mov ecx, dword [esp + 0xa8]
jmp 0x54341a
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x78fb10]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
call fcn.00402070
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x5435bb
mov eax, dword [esp + 0xac]
jmp 0x542be6
mov eax, dword [esp + 0xac]
cmp eax, 3
jmp 0x5433ef
je 0x5436c1
cmp eax, 4
jge 0x543625
cmp eax, 3
jne 0x543619
mov ecx, dword [esp + 0xa8]
movzx edx, word [ecx]
cmp dx, 0x6475
jne 0x543614
movzx edx, byte [ecx + 2]
cmp dl, 0x70
je 0x54343b
cmp eax, 4
jne 0x54337e
mov edx, dword [ecx]
cmp edx, 0x34706374
je 0x54343b
jmp 0x54337e
cmp eax, 4
jmp 0x5435fb
cmp eax, 4
mov ecx, dword [esp + 0xa8]
jmp 0x5435fb
je 0x543676
jne 0x54366d
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx]
cmp edx, 0x36706374
je 0x54343b
cmp eax, 4
jne 0x543654
mov edx, dword [ecx]
cmp edx, 0x34706475
je 0x54343b
cmp eax, 4
jne 0x54337e
mov edx, dword [ecx]
cmp edx, 0x36706475
je 0x54343b
jmp 0x54337e
mov ecx, dword [esp + 0xa8]
jmp 0x543641
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x790300]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
call fcn.00402070
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x5436b2
mov eax, dword [esp + 0xac]
cmp eax, 3
jmp 0x5435d8
mov eax, dword [esp + 0xac]
cmp eax, 4
jmp 0x543627
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x78fb8e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
call fcn.00402070
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x5436fd
mov eax, dword [esp + 0xac]
cmp eax, 3
jmp 0x542be0
mov eax, dword [esp + 0xac]
jmp 0x5435d0
mov dword [esp], 0
lea ecx, [0x79a1fb]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x14
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
lea eax, [0x730dc0]
mov dword [esp], eax
lea eax, [esp + 0x60]
mov dword [esp + 4], eax
call fcn.00407570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004275c0
ud2
call fcn.0044b280
jmp fcn.00542bb0