Function at 0x4bad30
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1d0]
cmp eax, dword [ecx + 8]
jbe 0x4bc6cd
sub esp, 0x250
mov eax, 0
lea edi, [esp + 0x174]
call fcn.0044bedb
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
lea eax, [0x5ca600]
mov dword [esp], eax
call fcn.0040dcf0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x258]
mov dword [esp], ecx
mov edx, dword [esp + 0x25c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x2e
mov dword [esp + 0x10], 0x2e
call fcn.00451c10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4bc5f4
mov eax, dword [esp + 0x98]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], 0x2e
mov dword [esp + 0xbc], 0x2e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
cmp eax, 3
jbe 0x4bc6c6
add eax, 0xfffffffc
mov edx, dword [ecx]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 0x2a
lea eax, [ecx + 4]
mov dword [esp + 0xb4], eax
cmp edx, 0x2014b50
jne 0x4bc5d3
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
cmp edx, 1
jbe 0x4bc6bf
add edx, 0xfffffffe
movzx ebx, word [ecx + 4]
mov dword [esp + 0xb8], edx
add eax, 0xfffffffe
mov dword [esp + 0xbc], eax
neg eax
sar eax, 0x1f
and eax, 2
lea eax, [eax + ecx + 4]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x254]
mov word [eax + 0x12], bx
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x4bc6b8
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x14], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x4bc6b1
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x16], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x4bc6aa
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x18], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x4bc6a3
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x30], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x4bc69c
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x32], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 3
jbe 0x4bc695
add edx, 0xfffffffc
mov ebp, dword [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov dword [eax + 0x34], ebp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb8]
cmp ebx, 3
jbe 0x4bc68e
add ebx, 0xfffffffc
mov ebp, dword [edx]
mov dword [esp + 0xb8], ebx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, edx
mov dword [esp + 0xb4], ecx
mov dword [eax + 0x38], ebp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 3
jbe 0x4bc687
add edx, 0xfffffffc
mov ebp, dword [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov dword [eax + 0x3c], ebp
mov ecx, dword [eax + 0x38]
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], 0
mov ecx, dword [eax + 0x3c]
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], 0
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x4bc680
movzx ebp, word [ebx]
add edx, 0xfffffffe
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
lea edx, [ebx + ecx]
mov dword [esp + 0xb4], edx
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb8]
cmp edi, 1
jbe 0x4bc679
movzx ecx, word [ebx + ecx]
mov dword [esp + 0x84], ecx
lea ebx, [edi - 2]
mov dword [esp + 0xb8], ebx
lea ebx, [esi - 2]
mov dword [esp + 0xbc], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea esi, [edx + ebx]
mov dword [esp + 0xb4], esi
mov edi, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
cmp edi, 1
jbe 0x4bc672
movzx edx, word [edx + ebx]
lea ebx, [edi - 2]
mov dword [esp + 0xb8], ebx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, esi
mov dword [esp + 0xb4], ecx
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
cmp ebx, 4
jb 0x4bc66b
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], edx
lea edi, [esi - 4]
mov dword [esp + 0x78], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 4
lea edx, [ecx + edi]
mov dword [esp + 0xb4], edx
lea ebp, [ebx - 4]
mov dword [esp + 0xb8], ebp
mov eax, dword [esp + 0x78]
mov dword [esp + 0xbc], eax
cmp ebp, 3
jbe 0x4bc664
lea eax, [ebx - 8]
mov ecx, dword [ecx + edi]
mov dword [esp + 0xb8], eax
lea eax, [esi - 8]
mov dword [esp + 0xbc], eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, edx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x254]
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 3
jbe 0x4bc65d
add edx, 0xfffffffc
mov ebp, dword [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov dword [eax + 0x74], ebp
mov dword [eax + 0x78], 0
lea ecx, [0x5d0180]
mov dword [esp], ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
lea ebx, [edx + ecx]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 0x7c]
add ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.004387d0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x258]
mov dword [esp], ebx
mov ebx, dword [esp + 0x25c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00451c10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x4bc5be
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
ja 0x4bc656
mov dword [esp], 0
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.0043b980
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x254]
mov dword [edx + 4], eax
mov eax, dword [0x749b10]
test eax, eax
jne 0x4bc5a6
mov dword [edx], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
ja 0x4bc64f
mov ebx, dword [esp + 0x54]
cmp ecx, ebx
ja 0x4bc64f
mov ebp, dword [esp + 0x84]
mov dword [edx + 0x54], ebp
mov ebp, ebx
sub ebx, eax
mov dword [edx + 0x58], ebx
mov esi, dword [0x749b10]
lea edi, [edx + 0x50]
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x88]
add eax, ebx
test esi, esi
jne 0x4bc57f
mov dword [edx + 0x50], eax
mov eax, dword [esp + 0x50]
cmp ecx, eax
ja 0x4bc648
mov dword [esp], 0
sub ebp, ecx
mov edx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
add ebx, ebp
mov dword [esp + 4], ebx
sub eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.0043b980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x254]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x749b10]
lea ebx, [edx + 8]
test ecx, ecx
jne 0x4bc567
mov dword [edx + 8], eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004be7f0
movzx eax, byte [esp + 8]
mov byte [esp + 0x35], al
movzx ecx, byte [esp + 9]
mov byte [esp + 0x36], cl
mov edx, dword [esp + 0x254]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.004be7f0
movzx eax, byte [esp + 8]
movzx ecx, byte [esp + 9]
movzx edx, byte [esp + 0x35]
test dl, dl
je 0x4bc557
test al, al
je 0x4bc557
movzx edx, byte [esp + 0x36]
test dl, dl
je 0x4bc53f
mov ecx, dword [esp + 0x254]
movzx edx, word [ecx + 0x16]
test dx, 0x800
sete dl
mov byte [ecx + 0x10], dl
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x38]
mov dword [esp + 0x74], ebx
mov ebp, dword [ecx + 0x74]
mov eax, ebp
mov ebp, dword [ecx + 0x78]
lea edi, [esp + 0x19c]
mov esi, eax
xor eax, eax
call fcn.0044bedb
mov ecx, dword [esp + 0x254]
mov edi, ebp
mov ebp, dword [ecx + 0x50]
mov ebx, dword [ecx + 0x54]
mov ecx, dword [ecx + 0x58]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x94], ecx
cmp edx, 0xffffffff
sete dl
mov ebx, dword [esp + 0x74]
cmp ebx, 0xffffffff
sete bl
cmp esi, 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edi, edi
mov esi, ecx
sete cl
and ecx, ebp
jmp 0x4bb51a
mov ebp, edx
mov edx, ecx
mov ecx, ebp
mov byte [esp + 0x38], cl
mov byte [esp + 0x39], bl
mov ebp, dword [esp + 0xa8]
mov edi, ecx
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
cmp ecx, 4
jl 0x4bc212
mov byte [esp + 0x37], dl
add ecx, 0xfffffffe
movzx edx, word [ebp]
mov word [esp + 0x3a], dx
mov dword [esp + 0xac], ecx
lea ecx, [ebx - 2]
mov dword [esp + 0xb0], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
lea ebx, [ebp + ecx]
mov dword [esp + 0x90], ebx
mov dword [esp + 0xa8], ebx
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xac]
cmp ebx, 1
jbe 0x4bc641
movzx ecx, word [ebp + ecx]
add ebx, 0xfffffffe
mov dword [esp + 0xac], ebx
add edx, 0xfffffffe
mov dword [esp + 0xb0], edx
neg edx
sar edx, 0x1f
and edx, 2
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0x90]
lea ebp, [ebx + edx]
mov dword [esp + 0xa8], ebp
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xac]
cmp ebx, ecx
jl 0x4bc212
cmp ecx, edx
ja 0x4bc63a
cmp ecx, ebx
ja 0x4bc633
mov dword [esp + 0x8c], ebp
sub ebx, ecx
mov dword [esp + 0xac], ebx
mov ebx, edx
sub edx, ecx
mov dword [esp + 0xb0], edx
neg edx
sar edx, 0x1f
and edx, ecx
add edx, ebp
mov dword [esp + 0xa8], edx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ebx
movzx edx, word [esp + 0x3a]
cmp dx, 0xa
ja 0x4bbeea
cmp dx, 1
jne 0x4bb9a1
movzx edx, byte [esp + 0x37]
test dl, dl
je 0x4bb995
cmp ecx, 8
jl 0x4bb974
mov dword [esp + 0x80], ebx
add ecx, 0xfffffff8
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x90]
movzx ebx, byte [ebp + edx]
mov dword [esp + 0x74], ebx
movzx ebx, byte [ebp + edx + 1]
mov dword [esp + 0x70], ebx
movzx ebx, byte [ebp + edx + 2]
mov dword [esp + 0x6c], ebx
movzx ebx, byte [ebp + edx + 3]
mov dword [esp + 0x68], ebx
movzx ebx, byte [ebp + edx + 6]
mov dword [esp + 0x64], ebx
movzx ebx, byte [ebp + edx + 7]
mov dword [esp + 0x60], ebx
movzx ebx, byte [ebp + edx + 4]
movzx edx, byte [ebp + edx + 5]
mov dword [esp + 0x5c], edx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x80]
add ecx, 0xfffffff8
mov dword [esp + 0xa4], ecx
neg ecx
sar ecx, 0x1f
and ecx, 8
mov ebp, dword [esp + 0x8c]
add ecx, ebp
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x70]
mov ebp, ecx
shl ecx, 8
mov edx, dword [esp + 0x74]
or edx, ecx
mov ecx, dword [esp + 0x6c]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x68]
shl ecx, 0x18
or edx, ecx
mov ecx, dword [esp + 0x254]
mov dword [ecx + 0x48], edx
mov edx, dword [esp + 0x6c]
shr edx, 0x10
shr ebp, 0x18
or ebp, edx
mov edx, dword [esp + 0x68]
shr edx, 8
or edx, ebp
or ebx, edx
mov edx, dword [esp + 0x5c]
shl edx, 8
or edx, ebx
mov ebx, dword [esp + 0x64]
shl ebx, 0x10
or ebx, edx
mov edx, dword [esp + 0x60]
shl edx, 0x18
or edx, ebx
mov dword [ecx + 0x4c], edx
movzx edx, byte [esp + 0x39]
test dl, dl
je 0x4bb96d
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
cmp ebx, 8
jl 0x4bb94c
add ebx, 0xfffffff8
movzx ecx, byte [edx]
mov dword [esp + 0x74], ecx
movzx ecx, byte [edx + 1]
mov dword [esp + 0x70], ecx
movzx ecx, byte [edx + 2]
mov dword [esp + 0x6c], ecx
movzx ecx, byte [edx + 3]
mov dword [esp + 0x68], ecx
movzx ecx, byte [edx + 4]
mov dword [esp + 0x64], ecx
movzx ecx, byte [edx + 7]
mov dword [esp + 0x60], ecx
movzx ecx, byte [edx + 5]
mov dword [esp + 0x5c], ecx
movzx ecx, byte [edx + 6]
mov dword [esp + 0xa0], ebx
lea ebx, [ebp - 8]
mov dword [esp + 0xa4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
add edx, ebx
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x70]
mov ebx, edx
shl edx, 8
mov ebp, dword [esp + 0x74]
or ebp, edx
mov edx, dword [esp + 0x6c]
shl edx, 0x10
or edx, ebp
mov ebp, dword [esp + 0x68]
shl ebp, 0x18
or ebp, edx
mov edx, dword [esp + 0x254]
mov dword [edx + 0x40], ebp
mov ebp, dword [esp + 0x6c]
shr ebp, 0x10
shr ebx, 0x18
or ebx, ebp
mov ebp, dword [esp + 0x68]
shr ebp, 8
or ebp, ebx
mov ebx, dword [esp + 0x64]
or ebx, ebp
mov ebp, dword [esp + 0x5c]
shl ebp, 8
or ebp, ebx
shl ecx, 0x10
or ecx, ebp
mov ebx, dword [esp + 0x60]
shl ebx, 0x18
or ecx, ebx
mov dword [edx + 0x44], ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4bb948
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
cmp ebx, 8
jl 0x4bb927
add ebx, 0xfffffff8
mov edi, edx
movzx edx, byte [ecx + 2]
mov dword [esp + 0x74], edx
movzx edx, byte [ecx + 1]
mov dword [esp + 0x70], edx
movzx edx, byte [ecx]
mov dword [esp + 0x6c], edx
movzx edx, byte [ecx + 3]
mov dword [esp + 0x68], edx
movzx edx, byte [ecx + 4]
mov dword [esp + 0x64], edx
movzx edx, byte [ecx + 7]
mov dword [esp + 0x60], edx
movzx edx, byte [ecx + 6]
mov dword [esp + 0x5c], edx
movzx edx, byte [ecx + 5]
mov dword [esp + 0xa0], ebx
lea ebx, [ebp - 8]
mov dword [esp + 0xa4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
add ecx, ebx
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x70]
mov ebx, ecx
shl ecx, 8
mov ebp, dword [esp + 0x6c]
or ecx, ebp
mov ebp, dword [esp + 0x74]
shl ebp, 0x10
or ebp, ecx
mov ecx, dword [esp + 0x68]
shl ecx, 0x18
or ecx, ebp
mov dword [edi + 0x74], ecx
mov ecx, dword [esp + 0x74]
shr ecx, 0x10
shr ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x68]
shr ecx, 8
or ecx, ebx
mov ebx, dword [esp + 0x64]
or ebx, ecx
shl edx, 8
or edx, ebx
mov ecx, dword [esp + 0x5c]
shl ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x60]
shl edx, 0x18
or ecx, edx
mov dword [edi + 0x78], ecx
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x4bb514
mov eax, dword [0x737c50]
mov ecx, dword [0x737c54]
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
add esp, 0x250
ret
mov edi, edx
jmp 0x4bb91c
mov eax, dword [0x737c50]
mov ecx, dword [0x737c54]
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
add esp, 0x250
ret
mov edx, ecx
jmp 0x4bb839
mov eax, dword [0x737c54]
mov ecx, dword [0x737c50]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
add esp, 0x250
ret
mov ecx, dword [esp + 0x254]
jmp 0x4bb74e
cmp dx, 0xa
jne 0x4bbecf
cmp ecx, 4
jge 0x4bb9cb
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x4bb514
add ecx, 0xfffffffc
mov dword [esp + 0xa0], ecx
lea ecx, [ebx - 4]
mov dword [esp + 0xa4], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, ebp
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
cmp edx, 4
jl 0x4bbeb4
add edx, 0xfffffffe
movzx ebp, word [ecx]
mov word [esp + 0x3a], bp
mov dword [esp + 0xa0], edx
lea edx, [ebx - 2]
mov dword [esp + 0xa4], edx
neg edx
sar edx, 0x1f
and edx, 2
lea ebx, [edx + ecx]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x9c], ebx
mov ebp, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
cmp ebp, 1
jbe 0x4bc62c
movzx ecx, word [ecx + edx]
lea edx, [ebp - 2]
mov dword [esp + 0xa0], edx
lea edx, [ebx - 2]
mov dword [esp + 0xa4], edx
neg edx
sar edx, 0x1f
and edx, 2
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0x90]
lea ebp, [ebx + edx]
mov dword [esp + 0x9c], ebp
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
cmp edx, ecx
jl 0x4bbe99
cmp ecx, ebx
ja 0x4bc625
cmp ecx, edx
ja 0x4bc61e
sub edx, ecx
mov dword [esp + 0xa0], edx
sub ebx, ecx
mov dword [esp + 0xa4], ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
lea edx, [ebp + ebx]
mov dword [esp + 0x9c], edx
movzx edx, word [esp + 0x3a]
cmp dx, 1
jne 0x4bb9f0
cmp ecx, 0x18
jne 0x4bb9f0
cmp ecx, 7
jbe 0x4bc617
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x90]
movzx edx, byte [ecx + eax + 1]
movzx ebx, byte [ecx + eax]
movzx ebp, byte [ecx + eax + 2]
movzx esi, byte [ecx + eax + 3]
mov edi, edx
shl edx, 8
or ebx, edx
mov edx, ebp
shl ebp, 0x10
or ebx, ebp
mov ebp, esi
shl esi, 0x18
or ebx, esi
mov dword [esp + 0x74], ebx
movzx esi, byte [ecx + eax + 5]
mov dword [esp + 0x70], esi
movzx esi, byte [ecx + eax + 6]
mov dword [esp + 0x6c], esi
movzx esi, byte [ecx + eax + 7]
movzx eax, byte [ecx + eax + 4]
mov dword [esp], ebx
shr edx, 0x10
shr edi, 0x18
or edi, edx
shr ebp, 8
or ebp, edi
or eax, ebp
mov ecx, dword [esp + 0x70]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x6c]
shl eax, 0x10
or eax, ecx
shl esi, 0x18
or esi, eax
mov dword [esp + 0x70], esi
mov dword [esp + 4], esi
mov dword [esp + 8], 0x989680
mov dword [esp + 0xc], 0
call fcn.00447410
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x989680
mov dword [esp + 0xc], 0
call fcn.00447590
mov eax, dword [esp + 0x10]
mov ecx, 0x64
mul ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
mov dword [esp], 0x641
mov dword [esp + 4], 1
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov ebp, dword [0x732ca8]
mov dword [esp + 0x1c], ebp
call fcn.0048ea90
lea edi, [esp + 0x1b0]
mov esi, dword [esp + 0x94]
call fcn.0044c3be
lea edi, [esp + 0x174]
lea esi, [esp + 0x1b0]
call fcn.0044c3be
mov eax, dword [esp + 0x58]
imul eax, eax, 0x64
mov ecx, dword [esp + 0x74]
add eax, ecx
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov ebx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x4bbe86
mov ecx, edx
shr edx, 0x1f
shl ebx, 1
or ebx, edx
mov edx, ebx
shl ebx, 1
shl ecx, 1
shr ecx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x44]
mov ebp, ecx
add ecx, ebx
mov esi, ecx
add ecx, 0x886e0900
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0044bedb
add ebp, ebx
mov ecx, dword [esp + 0x48]
adc edx, ecx
mov ecx, esi
add esi, 0x886e0900
mov ebx, edx
adc edx, 0xfffffff1
mov dword [esp + 0x40], edx
mov ebp, dword [esp + 0x4c]
cmp ebp, 0x3b9aca00
mov esi, ebx
setae bl
mov edi, ecx
mov ecx, dword [esp + 0x74]
test ecx, ecx
sete dl
and edx, ebx
test ecx, ecx
seta bl
or edx, ebx
test dl, dl
jne 0x4bbdd3
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ebx, ecx
add ecx, 0x7791f700
mov dword [esp + 0x74], ecx
lea edi, [esp + 0x124]
call fcn.0044bedb
lea edi, [esp + 0x228]
call fcn.0044bedb
mov dword [esp + 0x228], ebp
sar ebp, 0x1f
mov dword [esp + 0x22c], ebp
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x230], ecx
add ebx, 0x7791f700
adc edx, 0xe
mov dword [esp + 0x234], edx
mov ecx, dword [0x732ca4]
mov dword [esp + 0x238], ecx
lea edi, [esp + 0x124]
lea esi, [esp + 0x228]
call fcn.0044c3be
lea edi, [esp + 0x214]
lea esi, [esp + 0x124]
call fcn.0044c3be
lea edi, [esp + 0xc0]
lea esi, [esp + 0x214]
call fcn.0044c3be
lea edi, [esp + 0x19c]
lea esi, [esp + 0xc0]
call fcn.0044c3be
mov esi, dword [esp + 0x94]
movzx edi, byte [esp + 0x38]
jmp 0x4bb9f0
mov dword [esp + 0x58], esi
mov dword [esp + 0x70], edi
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.00447410
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov edx, ecx
add ecx, eax
mov ebx, ecx
add ecx, 0x886e0900
mov dword [esp + 0x3c], ecx
mov ebp, 0x3b9aca00
mov esi, edx
mov edi, eax
mul ebp
mov ebp, dword [esp + 0x4c]
sub ebp, eax
mov ecx, dword [esp + 0x14]
add esi, edi
mov esi, dword [esp + 0x58]
adc esi, ecx
mov edi, ebx
add ebx, 0x886e0900
mov ebx, esi
adc esi, 0xfffffff1
imul ecx, ecx, 0x3b9aca00
add ecx, edx
mov edx, dword [esp + 0x4c]
sub edx, eax
mov eax, dword [esp + 0x74]
sbb eax, ecx
test ebp, ebp
setb cl
test eax, eax
sete dl
and ecx, edx
test eax, eax
setl al
or ecx, eax
test cl, cl
je 0x4bbe7e
add ebp, 0x3b9aca00
add edi, 0x886e08ff
adc ebx, 0xfffffff1
xor eax, eax
mov ecx, edi
mov edx, ebx
jmp 0x4bbd19
mov edi, dword [esp + 0x3c]
mov ebx, esi
jmp 0x4bbe73
mov edx, dword [esp + 0x180]
mov ecx, dword [esp + 0x17c]
jmp 0x4bbca7
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x4bb514
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x4bb514
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x4bb514
cmp dx, 0xd
jne 0x4bc06b
cmp ecx, 8
jge 0x4bbf14
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x4bb514
add ecx, 0xfffffffc
mov dword [esp + 0xa0], ecx
lea ecx, [ebx - 4]
mov dword [esp + 0xa4], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
lea edx, [ebp + ecx]
mov dword [esp + 0x90], edx
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
cmp edx, 3
jbe 0x4bc610
mov ecx, dword [ebp + ecx]
mov dword [esp + 0x74], ecx
add ecx, 0x7791f700
lea ebp, [edx - 4]
mov dword [esp + 0xa0], ebp
lea ebp, [ebx - 4]
mov dword [esp + 0xa4], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 4
mov edx, ecx
mov ecx, dword [esp + 0x90]
add ecx, ebp
mov dword [esp + 0x9c], ecx
lea edi, [esp + 0x110]
call fcn.0044bedb
lea edi, [esp + 0xfc]
call fcn.0044bedb
lea edi, [esp + 0x200]
call fcn.0044bedb
mov dword [esp + 0x200], 0
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], edx
mov ecx, dword [esp + 0x74]
add ecx, 0x7791f700
adc eax, 0xe
mov dword [esp + 0x20c], eax
mov ecx, dword [0x732ca4]
mov dword [esp + 0x210], ecx
lea edi, [esp + 0xfc]
lea esi, [esp + 0x200]
call fcn.0044c3be
lea edi, [esp + 0x1ec]
lea esi, [esp + 0xfc]
call fcn.0044c3be
lea edi, [esp + 0x110]
lea esi, [esp + 0x1ec]
call fcn.0044c3be
lea edi, [esp + 0x19c]
lea esi, [esp + 0x110]
call fcn.0044c3be
xor eax, eax
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x4bb514
cmp dx, 0x5455
jne 0x4bc202
cmp ecx, 5
jge 0x4bc096
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x4bb514
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x90]
movzx edx, byte [ebp + edx]
dec ecx
mov dword [esp + 0xa0], ecx
lea ecx, [ebx - 1]
mov dword [esp + 0xa4], ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov ebx, dword [esp + 0x8c]
lea ebp, [ecx + ebx]
mov dword [esp + 0x9c], ebp
test dl, 1
je 0x4bc07b
mov dword [esp + 0x90], ebp
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
cmp ebp, 3
jbe 0x4bc609
mov ecx, dword [ecx + ebx]
mov ebx, ecx
add ecx, 0x7791f700
add ebp, 0xfffffffc
mov dword [esp + 0xa0], ebp
lea ebp, [edx - 4]
mov dword [esp + 0xa4], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 4
mov edx, ecx
mov ecx, dword [esp + 0x90]
add ecx, ebp
mov dword [esp + 0x9c], ecx
lea edi, [esp + 0xe8]
call fcn.0044bedb
lea edi, [esp + 0x138]
call fcn.0044bedb
lea edi, [esp + 0x1d8]
call fcn.0044bedb
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], edx
add ebx, 0x7791f700
adc eax, 0xe
mov dword [esp + 0x1e4], eax
mov ecx, dword [0x732ca4]
mov dword [esp + 0x1e8], ecx
lea edi, [esp + 0x138]
lea esi, [esp + 0x1d8]
call fcn.0044c3be
lea edi, [esp + 0x1c4]
lea esi, [esp + 0x138]
call fcn.0044c3be
lea edi, [esp + 0xe8]
lea esi, [esp + 0x1c4]
call fcn.0044c3be
lea edi, [esp + 0x19c]
lea esi, [esp + 0xe8]
call fcn.0044c3be
xor eax, eax
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x4bb514
cmp dx, 0x5855
je 0x4bbef4
jmp 0x4bbecf
mov eax, dword [esp + 0x254]
movzx ecx, word [eax + 0x32]
movzx edx, word [eax + 0x30]
mov word [esp + 2], dx
mov word [esp], cx
call fcn.004be540
lea esi, [esp + 4]
lea edi, [esp + 0x188]
call fcn.0044c3be
mov eax, dword [0x749b10]
mov ecx, dword [esp + 0x254]
lea edi, [ecx + 0x1c]
mov dword [esp + 0x94], edi
test eax, eax
jne 0x4bc51d
lea esi, [esp + 0x188]
call fcn.0044c3be
lea edi, [esp + 0x14c]
lea esi, [esp + 0x19c]
call fcn.0044c3be
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x150]
mov ebx, edx
shr edx, 0x1f
shl edx, 0x1f
test edx, edx
je 0x4bc506
mov edx, ecx
shr ecx, 0x1f
shl ebx, 1
or ebx, ecx
mov ecx, ebx
shl ebx, 1
mov ebp, edx
shl edx, 1
shr edx, 0x1f
or edx, ebx
mov ebx, edx
add edx, 0xd7b17f80
shr ecx, 0x1f
add ebx, 0xd7b17f80
adc ecx, 0xd
test edx, edx
sete dl
test ecx, ecx
sete cl
and ecx, edx
test cl, cl
je 0x4bc4ff
test ebp, 0x3fffffff
sete cl
test cl, cl
je 0x4bc336
movzx eax, byte [esp + 0x39]
test al, al
je 0x4bc310
mov eax, dword [0x737c54]
mov ecx, dword [0x737c50]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
add esp, 0x250
ret
movzx eax, byte [esp + 0x38]
test al, al
jne 0x4bc2ef
mov dword [esp + 0x260], 0
mov dword [esp + 0x264], 0
add esp, 0x250
ret
lea edi, [esp + 0x160]
lea esi, [esp + 0x19c]
call fcn.0044c3be
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.0044bedb
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov ebx, edx
shr edx, 0x1f
shl edx, 0x1f
test edx, edx
je 0x4bc3c4
mov eax, ecx
shr ecx, 0x1f
shl ebx, 1
or ebx, ecx
shl eax, 1
shr eax, 0x1f
mov ecx, ebx
shl ebx, 1
or eax, ebx
mov edx, eax
add eax, 0xd7b17f80
mov dword [esp + 0x168], eax
shr ecx, 0x1f
add edx, 0xd7b17f80
adc ecx, 0xd
mov dword [esp + 0x16c], ecx
mov eax, dword [esp + 0x160]
and eax, 0x3fffffff
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x170], 0
lea edi, [esp + 0xd4]
lea esi, [esp + 0x160]
call fcn.0044c3be
mov eax, dword [0x749b10]
test eax, eax
jne 0x4bc4d6
mov edi, dword [esp + 0x94]
lea esi, [esp + 0xd4]
call fcn.0044c3be
mov eax, dword [esp + 0x254]
movzx ecx, word [eax + 0x30]
test cx, cx
je 0x4bc4c4
mov edi, esp
lea esi, [esp + 0x188]
call fcn.0044c3be
lea edi, [esp + 0x14]
lea esi, [esp + 0x19c]
call fcn.0044c3be
call fcn.0048de50
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004be310
mov eax, dword [esp + 8]
mov edi, esp
lea esi, [esp + 0x19c]
call fcn.0044c3be
mov dword [esp + 0x14], eax
call fcn.0048e7b0
lea esi, [esp + 0x18]
lea edi, [esp + 0x23c]
call fcn.0044c3be
mov eax, dword [0x749b10]
test eax, eax
jne 0x4bc49b
mov edi, dword [esp + 0x94]
lea esi, [esp + 0x23c]
call fcn.0044c3be
jmp 0x4bc2e6
lea eax, [0x608a40]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
lea eax, [esp + 0x23c]
mov dword [esp + 8], eax
call fcn.0040e670
jmp 0x4bc2e6
movzx eax, word [eax + 0x32]
test ax, ax
jne 0x4bc417
jmp 0x4bc2e6
lea eax, [0x608a40]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
lea ecx, [esp + 0xd4]
mov dword [esp + 8], ecx
call fcn.0040e670
jmp 0x4bc403
xor ecx, ecx
jmp 0x4bc2e2
mov edx, dword [esp + 0x154]
mov ebx, dword [esp + 0x158]
mov ebp, ecx
mov ecx, ebx
jmp 0x4bc2c5
lea eax, [0x608a40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x188]
mov dword [esp + 8], eax
call fcn.0040e670
jmp 0x4bc26a
test cl, cl
jne 0x4bb485
mov ecx, dword [esp + 0x254]
mov byte [ecx + 0x10], 0
jmp 0x4bb49b
mov ecx, dword [esp + 0x254]
mov byte [ecx + 0x10], 1
jmp 0x4bb49b
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov edx, dword [esp + 0x254]
jmp 0x4bb41d
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0040e560
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x254]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x54]
jmp 0x4bb3c0
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040e560
mov edx, dword [esp + 0x254]
jmp 0x4bb36c
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
add esp, 0x250
ret
mov eax, dword [0x737c54]
mov ecx, dword [0x737c50]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
add esp, 0x250
ret
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
add esp, 0x250
ret
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.0044a470
jmp fcn.004bad30