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

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x1a8
push ebx
mov ebx, dword [0x100082d4]
push esi
push edi
xor edi, edi
mov dword [0x100082bc], edi
mov dword [0x100082c0], edi
mov dword [ebp + 0x24], ebx
cmp ebx, edi
jne 0x543343
push edi
call fcn.00543d04
push 0x10003750
jmp 0x543c1e
mov eax, dword [0x100085d0]
cmp eax, edi
je 0x543c13
cmp dword [eax], edi
je 0x543c13
mov eax, dword [eax]
add eax, 4
mov dword [0x100082ec], eax
je 0x543c13
cmp word [eax], di
je 0x543c13
call fcn.00542fa2
test eax, eax
je 0x543c13
push dword [0x10008314]
mov esi, dword [0x100030dc]
push ebx
call esi
mov dword [ebp + 0x50], eax
cmp eax, edi
jne 0x5433a4
push edi
call fcn.00543d04
push 0x10003720
jmp 0x543c1e
push 2
push ebx
call esi
push 1
push ebx
mov dword [0x100082d8], eax
call esi
push 3
push ebx
mov dword [0x100082dc], eax
call esi
push dword [0x100082f4]
mov dword [0x100082e0], eax
push dword [0x100082d8]
call fcn.00542227
push dword [0x100082f8]
push dword [0x100082dc]
call fcn.00542227
push dword [0x100082fc]
push dword [0x100082e0]
call fcn.00542227
mov eax, dword [0x10008300]
mov esi, dword [0x100030d8]
cmp eax, 0xffffffff
je 0x54340e
push eax
push dword [0x100082e0]
call esi
mov eax, dword [0x10008304]
cmp eax, 0xffffffff
je 0x543442
push eax
push dword [0x100082d8]
call esi
cmp dword [0x10008304], edi
je 0x54342c
push edi
jmp 0x54342e
push 1
push 0xf060
push edi
push ebx
call dword [0x100030d4]
push eax
call dword [0x100030d0]
mov eax, dword [0x10008308]
cmp eax, 0xffffffff
je 0x543465
neg eax
sbb eax, eax
and eax, 8
push eax
push dword [0x100082d8]
call dword [0x100030a4]
mov dword [0x100082c8], eax
mov esi, dword [0x10003120]
push edi
push edi
push 0x31
push ebx
call esi
push edi
push 0x100017d1
push ebx
push 0x65
push dword [0x100082e4]
mov dword [ebp + 0x28], eax
mov dword [0x100042b0], 1
call dword [0x100030cc]
mov dword [0x100082d0], eax
cmp eax, edi
je 0x543c06
lea eax, [ebp + 0x54]
push eax
push dword [ebp + 0x50]
call dword [0x100030c8]
push 2
lea eax, [ebp + 0x54]
push eax
push ebx
push edi
call dword [0x1000310c]
mov ecx, dword [ebp + 0x60]
sub ecx, dword [ebp + 0x58]
mov eax, dword [ebp + 0x5c]
sub eax, dword [ebp + 0x54]
push 0x14
push ecx
push eax
push dword [ebp + 0x58]
mov dword [ebp + 0x38], eax
push dword [ebp + 0x54]
mov dword [ebp + 0x2c], ecx
push edi
push dword [0x100082d0]
call dword [0x10003110]
push 1
push dword [ebp + 0x28]
push 0x30
push dword [0x100082d0]
call esi
cmp dword [0x10008318], edi
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x30], edi
mov dword [ebp + 0x3c], edi
jle 0x543bb6
mov ebx, dword [ebp + 0x3c]
imul ebx, ebx, 0x54
add ebx, dword [0x10008310]
mov eax, dword [ebx + 0x20]
cmp eax, 1
jl 0x543b9e
cmp eax, 0x10
jg 0x543b9e
imul eax, eax, 0x14
cmp dword [0x1000830c], 0
je 0x543544
mov ecx, dword [eax + 0x10004164]
mov eax, dword [eax + 0x1000416c]
jmp 0x543550
mov ecx, dword [eax + 0x10004160]
mov eax, dword [eax + 0x10004168]
lea esi, [ebx + 0x24]
lea edi, [ebp + 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x54]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp + 0x24]
mov dword [ebp + 0x74], ecx
movsd dword es:[edi], dword [esi]
call dword [0x100030c0]
cmp dword [ebx + 0x24], 0
jge 0x543579
mov eax, dword [ebp + 0x38]
add dword [ebp + 0x54], eax
xor edi, edi
cmp dword [ebx + 0x2c], edi
jge 0x543586
mov eax, dword [ebp + 0x38]
add dword [ebp + 0x5c], eax
cmp dword [ebx + 0x28], edi
jge 0x543591
mov eax, dword [ebp + 0x2c]
add dword [ebp + 0x58], eax
cmp dword [ebx + 0x30], edi
jge 0x54359c
mov eax, dword [ebp + 0x2c]
add dword [ebp + 0x60], eax
cmp dword [0x1000830c], edi
je 0x5435b8
mov ecx, dword [ebp + 0x38]
sub ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x5c], ecx
mov ecx, dword [ebp + 0x38]
sub ecx, eax
mov dword [ebp + 0x54], ecx
mov eax, dword [ebx + 0x20]
cmp eax, 0xe
mov esi, dword [ebx]
jg 0x54364e
cmp eax, 0xc
jge 0x5435f3
cmp eax, 4
jl 0x543676
cmp eax, 5
jle 0x54364a
add eax, 0xfffffff6
cmp eax, 1
ja 0x543676
mov eax, dword [ebx + 0x34]
and eax, 0x20
xor dword [ebp + 0x74], eax
jmp 0x543676
mov eax, dword [ebx + 0x34]
test al, 0x40
je 0x5435fe
or dword [ebp + 0x74], 0x20
test al, al
jns 0x543609
or dword [ebp + 0x74], 0x2000
test eax, 0x400
je 0x543617
or dword [ebp + 0x74], 0x1000
test al, 0x10
je 0x543622
or dword [ebp + 0x74], 0x800
mov esi, dword [ebx + 4]
test eax, 0x100
je 0x543676
or dword [ebp + 0x74], 0x44
test eax, 0x100200
jne 0x54363e
and dword [ebp + 0x74], 0xffffff7f
push esi
call fcn.00542f30
test byte [ebx + 0x34], 0x10
je 0x543676
xor esi, esi
jmp 0x543676
sub eax, 0xf
je 0x543660
dec eax
jne 0x543676
mov eax, dword [ebx + 0x34]
and eax, 0x809
jmp 0x543673
mov eax, dword [ebx + 0x34]
mov esi, dword [ebx + 4]
and eax, 0x4000
or eax, 0x8000
shr eax, 0xe
or dword [ebp + 0x74], eax
mov eax, dword [ebx + 0x34]
mov ecx, eax
and ecx, 0x8320000
or dword [ebp + 0x74], ecx
test eax, 0x10000
je 0x543692
and dword [ebp + 0x74], 0xfffeffff
mov eax, dword [ebp + 0x60]
sub eax, dword [ebp + 0x58]
push 0
push dword [0x100082e4]
push dword [ebx + 0x3c]
push dword [0x100082d0]
push eax
mov eax, dword [ebp + 0x5c]
sub eax, dword [ebp + 0x54]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebx + 0x20]
push dword [ebp + 0x54]
imul eax, eax, 0x14
push dword [ebp + 0x74]
push esi
push dword [eax + 0x1000415c]
push dword [ebp + 0x68]
call dword [0x100030bc]
push dword [ebx + 0x48]
mov edi, dword [0x100030f8]
mov esi, eax
lea eax, [ebp - 0x130]
push 0x1000315c
push eax
mov dword [ebp + 0x70], esi
mov dword [ebx + 0x38], esi
call edi
push esi
lea eax, [ebp - 0xb0]
push 0x10003148
push eax
call edi
add esp, 0x18
push dword [0x100082ec]
lea eax, [ebp - 0xb0]
push eax
push dword [ebx + 0x4c]
lea eax, [ebp - 0x130]
push eax
call dword [0x10003058]
test esi, esi
je 0x543b9e
mov edi, dword [0x10003120]
push 1
push dword [ebp + 0x28]
push 0x30
push esi
call edi
mov eax, dword [ebx + 0x20]
cmp eax, 0xb
jg 0x5439c2
cmp eax, 0xa
jge 0x5439a2
cmp eax, 4
jl 0x543b40
cmp eax, 5
jle 0x543778
cmp eax, 7
jne 0x543b40
push 0x1000191d
push 0xfffffffffffffffc
push esi
call dword [0x100030a8]
mov dword [ebx + 0x40], eax
jmp 0x543b40
xor ecx, ecx
cmp eax, 5
setne cl
mov dword [ebp + 0x68], ecx
mov ecx, dword [ebx]
test ecx, ecx
je 0x5437c4
mov eax, dword [ebx + 0x34]
mov esi, dword [ebp + 0x60]
sub esi, dword [ebp + 0x58]
and eax, 0x8000
mov edx, eax
neg edx
sbb edx, edx
push 0x10
and edx, esi
push edx
mov edx, dword [ebp + 0x5c]
sub edx, dword [ebp + 0x54]
neg eax
sbb eax, eax
and eax, edx
push eax
push dword [ebp + 0x68]
push ecx
push dword [0x100082e4]
call dword [0x100030b8]
mov dword [ebx + 0x44], eax
jmp 0x5437d5
push 0x67
push 0
call dword [0x10003038]
push eax
call dword [0x100030b4]
test byte [ebx + 0x34], 0x20
mov dword [ebp + 0x48], eax
je 0x543940
cmp dword [ebp + 0x68], 0
jne 0x543940
lea eax, [ebp + 0xc]
push eax
push 0x18
push dword [ebp + 0x48]
call dword [0x10003018]
test eax, eax
je 0x543940
mov eax, dword [ebp + 0x14]
imul eax, dword [ebp + 0x10]
shl eax, 2
push eax
call fcn.005421a2
mov dword [ebp + 0x64], eax
test eax, eax
je 0x543940
push 0x20
pop eax
mov word [ebp - 0x22], ax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x28], eax
xor eax, eax
inc eax
xor esi, esi
mov word [ebp - 0x24], ax
mov eax, dword [ebp + 0x10]
push esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], 0x28
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], esi
call dword [0x10003024]
push dword [ebp + 0x48]
mov dword [ebp + 0x50], eax
push eax
call dword [0x10003010]
push esi
lea eax, [ebp - 0x30]
push eax
push dword [ebp + 0x64]
push dword [ebp + 0x14]
push esi
push dword [ebp + 0x48]
push dword [ebp + 0x50]
call dword [0x10003028]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
push esi
call dword [0x10003014]
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x64]
mov esi, dword [eax]
mov eax, dword [ebp + 0x14]
and esi, 0xffffff
dec eax
mov dword [ebp + 0x4c], eax
js 0x54391a
mov eax, dword [ebp + 0x10]
and dword [ebp + 0x6c], 0
test eax, eax
jle 0x543915
mov ecx, dword [ebp + 0x64]
mov ecx, dword [ecx]
and ecx, 0xffffff
cmp ecx, esi
jne 0x543906
mov ecx, dword [ebp + 0x6c]
cmp ecx, eax
jge 0x5438d7
mov edx, dword [ebp + 0x64]
mov edx, dword [edx]
and edx, 0xffffff
cmp edx, esi
jne 0x5438d7
add dword [ebp + 0x64], 4
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], eax
jl 0x5438bc
mov eax, dword [ebp + 0x4c]
lea edx, [eax + 1]
push edx
push dword [ebp + 0x6c]
push eax
push ecx
call dword [0x10003014]
push 3
push eax
push dword [ebp + 0x40]
mov dword [ebp + 0x44], eax
push dword [ebp + 0x40]
call dword [0x1000301c]
push dword [ebp + 0x44]
call dword [0x10003020]
jmp 0x54390d
add dword [ebp + 0x64], 4
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x10]
cmp dword [ebp + 0x6c], eax
jl 0x5438a6
dec dword [ebp + 0x4c]
jns 0x54389b
push 1
push dword [ebp + 0x40]
push dword [ebp + 0x70]
call dword [0x100030b0]
push dword [ebp + 0x40]
mov esi, dword [0x10003020]
call esi
push dword [ebp + 0x50]
call esi
push dword [ebp + 0x64]
call fcn.005421b1
push dword [ebp + 0x48]
push dword [ebp + 0x68]
push 0x172
push dword [ebp + 0x70]
call edi
cmp dword [ebx + 0x20], 5
jne 0x543b40
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x70]
call dword [0x100030ac]
mov eax, dword [ebp + 0x5c]
sub eax, dword [ebp + 4]
push 0x15
add eax, dword [ebp + 0x54]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp + 0x60]
sub eax, dword [ebp + 8]
sar ecx, 1
add eax, dword [ebp + 0x58]
mov dword [ebp - 4], ecx
cdq
sub eax, edx
xor edx, edx
push edx
push edx
sar eax, 1
push eax
push ecx
push edx
push dword [ebp + 0x70]
mov dword [ebp], eax
call dword [0x10003110]
jmp 0x543b40
mov eax, dword [ebx + 4]
cmp word [eax], 0x31
jne 0x543b40
push 0
push 1
push 0xf1
push dword [ebp + 0x70]
call edi
jmp 0x543b40
cmp eax, 0xc
jl 0x543b40
cmp eax, 0xe
jle 0x543b0a
cmp eax, 0x10
jg 0x543b40
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x543b40
cmp eax, 0xf
jne 0x543a04
mov dword [ebp + 0x50], 0x143
mov dword [ebp + 0x68], 0x158
mov dword [ebp + 0x4c], 0x14e
jmp 0x543a19
mov dword [ebp + 0x50], 0x180
mov dword [ebp + 0x68], 0x1a2
mov dword [ebp + 0x4c], 0x186
push ecx
call fcn.005421c1
cmp word [eax], 0
mov dword [ebp + 0x44], eax
mov esi, eax
mov dword [ebp + 0x6c], eax
je 0x543a62
cmp word [esi], 0x7c
jne 0x543a53
xor eax, eax
mov word [esi], ax
mov eax, dword [ebp + 0x6c]
cmp word [eax], 0
je 0x543a4c
push eax
push 0
push dword [ebp + 0x50]
push dword [ebp + 0x70]
call edi
inc esi
inc esi
mov dword [ebp + 0x6c], esi
jmp 0x543a5c
push esi
call dword [0x100030fc]
mov esi, eax
cmp word [esi], 0
jne 0x543a2d
push dword [ebp + 0x44]
call fcn.005421b1
mov eax, dword [ebx + 4]
test eax, eax
je 0x543b40
test dword [ebx + 0x34], 0x808
je 0x543aef
cmp dword [ebp + 0x68], 0x1a2
jne 0x543aef
push 0xffffffffffffffff
push 0
push 0x185
push dword [ebp + 0x70]
call edi
mov esi, dword [ebx + 4]
mov dword [ebp + 0x6c], esi
movzx eax, word [esi]
mov dword [ebp + 0x44], eax
cmp ax, 0x7c
je 0x543ab7
test ax, ax
je 0x543ab7
push esi
call dword [0x100030fc]
mov esi, eax
jmp 0x543a9b
xor eax, eax
mov word [esi], ax
mov eax, dword [ebp + 0x6c]
cmp word [eax], 0
je 0x543ae4
push eax
push 0xffffffffffffffff
push 0x1a2
push dword [ebp + 0x70]
call edi
cmp eax, 0xffffffff
je 0x543ae4
push eax
push 1
push 0x185
push dword [ebp + 0x70]
call edi
cmp word [ebp + 0x44], 0
je 0x543b40
inc esi
inc esi
jmp 0x543a98
push eax
push 0xffffffffffffffff
push dword [ebp + 0x68]
push dword [ebp + 0x70]
call edi
cmp eax, 0xffffffff
je 0x543b40
push 0
push eax
push dword [ebp + 0x4c]
jmp 0x5439b8
push 0
push dword [ebx + 0x1c]
push 0xc5
push dword [ebp + 0x70]
call edi
test dword [ebp + 0x74], 0x2000
je 0x543b40
push 0xfffffffffffffffc
push dword [ebp + 0x70]
call dword [0x100030e8]
push 0x10001a21
push 0xfffffffffffffffc
push dword [ebp + 0x70]
mov dword [ebx + 0x50], eax
call dword [0x100030a8]
xor ecx, ecx
cmp dword [ebp + 0x30], ecx
jne 0x543b85
mov eax, dword [ebp + 0x74]
and eax, 0x8010000
cmp eax, 0x10000
jne 0x543b85
cmp dword [ebx + 0x20], 0xa
jl 0x543b85
test dword [ebx + 0x34], 0x10000000
je 0x543b6c
mov dword [ebp + 0x30], 1
cmp dword [ebp + 0x34], ecx
je 0x543b76
cmp dword [ebp + 0x30], ecx
je 0x543b85
push dword [ebp + 0x70]
mov dword [ebp + 0x34], 1
call fcn.00542210
mov ecx, dword [ebx + 0x34]
mov eax, 0x110
and ecx, eax
cmp ecx, eax
jne 0x543b9e
push dword [ebx + 4]
push dword [ebp + 0x70]
call fcn.00542227
inc dword [ebp + 0x3c]
mov eax, dword [ebp + 0x3c]
cmp eax, dword [0x10008318]
jl 0x543509
cmp dword [ebp + 0x34], 0
jne 0x543bc1
push dword [0x100082dc]
call fcn.00542210
push dword [0x100082f0]
push dword [ebp + 0x24]
call fcn.00542227
mov eax, dword [0x100085d0]
mov ecx, dword [eax]
mov dword [0x100082e8], ecx
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [eax], ecx
push dword [0x100082d0]
mov esi, 0x10008590
push 0x10003148
push esi
call dword [0x100030f8]
add esp, 0xc
push esi
call fcn.00543d3f
xor eax, eax
jmp 0x543c26
push edi
call fcn.00543d04
push 0x100036f4
jmp 0x543c1e
push edi
call fcn.00543d04
push 0x100036c8
call fcn.00543d3f
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret