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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x45fa03
sub esp, 0xf8
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov eax, ebx
mov ebx, dword [edx + 4]
test ebx, ebx
mov ecx, ebx
sete bl
and ebx, ebp
test bl, bl
jne 0x45f974
mov ebx, dword [edx + 8]
test ebx, ebx
jne 0x45f95f
mov ebp, dword [esp + 0x104]
mov esi, edx
mov edx, dword [ebp]
cmp edx, eax
mov eax, edx
sete dl
mov edi, ebx
mov ebx, dword [ebp + 4]
cmp ebx, ecx
mov ecx, ebx
sete bl
and ebx, edx
test bl, bl
je 0x45f94c
mov edx, dword [ebp + 8]
cmp edx, edi
jne 0x45f939
movzx ebx, byte [ebp + 0xc]
cmp byte [esi + 0xc], bl
jne 0x45f926
mov edi, ebp
mov ebp, dword [esp + 0x108]
cmp dword [ebp], eax
mov eax, ebx
sete bl
cmp dword [ebp + 4], ecx
mov ecx, edx
sete dl
and edx, ebx
test dl, dl
je 0x45ee77
cmp dword [ebp + 8], ecx
jne 0x45ee77
cmp byte [ebp + 0xc], al
jne 0x45ee77
lea edi, [esp + 0xdc]
xor eax, eax
call fcn.00455a7a
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, 0x17
jmp 0x45ed66
mov byte [esp + ebx + 0xdc], dl
dec ebx
mov esi, dword [esp + 0xfc]
mov edx, eax
mov eax, ebx
test edx, edx
seta bl
test ecx, ecx
xchg ebp, ebx
seta bl
xchg ebp, ebx
test edx, edx
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebp
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x45edd3
mov dword [esp + 0x34], ecx
mov dword [esp + 0x4c], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call fcn.00450650
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0xa
mul ecx
mov edx, dword [esp + 0x34]
sub edx, eax
add edx, 0x30
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
cmp ebx, 0x18
jb 0x45ed53
jmp 0x45f9f6
lea edx, [eax - 0x17]
neg edx
mov ebx, dword [esp + 0x100]
xor ecx, ecx
jmp 0x45edfa
xchg edi, eax
mov byte [ebp + ecx], al
xchg edi, eax
inc ecx
mov ebp, dword [esp + 0x100]
mov ebx, ebp
mov esi, dword [esp + 0xfc]
cmp ecx, edx
jge 0x45ee28
lea ebp, [eax + ecx + 1]
lea edi, [eax + ecx]
cmp ebp, 0x18
jae 0x45f9ea
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
lea ebx, [esp + 0xdc]
movzx edi, byte [edi + ebx + 1]
cmp ecx, esi
jb 0x45ede3
jmp 0x45f9e1
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
jmp 0x45ee33
mov dword [ebx + 0xc], eax
mov edx, dword [ebx + 0xc]
test edx, edx
jle 0x45ee58
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx]
lea eax, [edx - 1]
cmp eax, ecx
jae 0x45f9dc
movzx ebp, byte [edx + ebp - 1]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
je 0x45ee30
test edx, edx
jne 0x45ee61
mov dword [ebx + 0x10], 0
movzx eax, byte [esi + 0xc]
mov byte [ebx + 0x14], al
mov byte [esp + 0x10c], 1
add esp, 0xf8
ret
mov edx, dword [ebp]
test edx, edx
sete bl
mov eax, edi
mov edi, dword [ebp + 4]
test edi, edi
mov ecx, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x45f756
mov edx, dword [esi + 8]
mov ebx, dword [ecx + 8]
cmp edx, ebx
jle 0x45f74d
sub edx, ebx
mov dword [esp + 0xb0], edx
cmp edx, 0x20
sbb ebx, ebx
mov dword [esp + 0xac], ebx
mov ebp, dword [esi]
mov dword [esp + 0xa8], ebp
mov edi, dword [esi + 4]
mov ecx, edx
shl ebp, cl
and ebp, ebx
mov dword [esi], ebp
lea ebp, [ecx - 0x20]
mov dword [esp + 0xa4], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb eax, eax
mov esi, dword [esp + 0xa4]
cmp esi, 0x20
sbb ebx, ebx
mov ecx, ebp
mov edx, dword [esp + 0xa8]
mov ebp, edx
shr edx, cl
mov ecx, esi
shl ebp, cl
and ebp, ebx
and edx, eax
mov ecx, dword [esp + 0xb0]
shl edi, cl
mov eax, dword [esp + 0xac]
and edi, eax
or edx, edi
or ebp, edx
mov eax, dword [esp + 0xfc]
mov dword [eax + 4], ebp
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x104]
mov ecx, dword [ebx + 8]
mov ebp, dword [edx + 8]
cmp ecx, ebp
jle 0x45f746
sub ecx, ebp
mov dword [esp + 0xb0], ecx
cmp ecx, 0x20
sbb ebp, ebp
mov esi, dword [ebx]
mov dword [esp + 0xac], esi
mov edi, dword [ebx + 4]
shl esi, cl
and esi, ebp
mov dword [ebx], esi
lea esi, [ecx - 0x20]
mov dword [esp + 0xa8], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb eax, eax
mov edx, dword [esp + 0xa8]
cmp edx, 0x20
sbb ebx, ebx
mov dword [esp + 0xa8], ebx
mov ecx, esi
mov ebx, dword [esp + 0xac]
mov esi, ebx
shr ebx, cl
and ebx, eax
mov ecx, dword [esp + 0xb0]
shl edi, cl
and edi, ebp
or ebx, edi
mov ecx, edx
shl esi, cl
mov eax, dword [esp + 0xa8]
and esi, eax
or esi, ebx
mov eax, dword [esp + 0x104]
mov dword [eax + 4], esi
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 8]
mov dword [eax + 8], ebx
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0045e0e0
mov eax, dword [esp + 0x108]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [esp + 0xc]
mov dword [esp + 0x6c], edx
mov ebx, dword [eax + 4]
mov dword [eax], ecx
adc ebx, 0
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x104]
mov ebx, dword [ecx]
add ebx, 0xffffffff
mov dword [esp + 0xac], ebx
mov ebp, dword [ecx + 4]
mov dword [ecx], ebx
adc ebp, 0xffffffff
mov dword [esp + 0xa0], ebp
mov dword [ecx + 4], ebp
mov ecx, dword [eax + 8]
neg ecx
mov dword [esp + 0xb0], ecx
lea esi, [ecx - 0x20]
mov dword [esp + 0xa8], esi
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0xa4], esi
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x9c], edx
cmp ecx, 0x20
sbb ebp, ebp
mov dword [esp + 0x98], ebp
cmp edi, 0x20
sbb ebx, ebx
mov dword [esp + 0x94], ebx
mov ebx, dword [eax + 4]
mov dword [esp + 0x90], ebx
mov ecx, edi
shr ebx, cl
mov ecx, esi
mov edi, dword [esp + 0x90]
shl edi, cl
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0xb0]
shr eax, cl
and eax, ebp
and edi, edx
or edi, eax
mov eax, dword [esp + 0x94]
and ebx, eax
or ebx, edi
mov dword [esp + 0x88], ebx
mov edi, ebx
shl ebx, cl
and ebx, ebp
mov ebp, dword [esp + 0x8c]
sub ebp, ebx
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0xac]
sub ebp, ecx
mov dword [esp + 0x74], ebp
mov ebp, dword [esp + 0xfc]
mov ebp, dword [ebp]
mov ecx, dword [esp + 0x8c]
sub ecx, ebp
mov dword [esp + 0x38], ecx
mov ecx, esi
shr edi, cl
mov ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0x88]
shl esi, cl
and esi, eax
and edi, edx
or esi, edi
mov edi, dword [esp + 0x8c]
sub edi, ebx
mov ebx, dword [esp + 0x90]
mov edi, ebx
sbb ebx, esi
mov dword [esp + 0x84], ebx
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0xac]
sub esi, ebx
mov ebx, dword [esp + 0xa0]
mov esi, edi
sbb edi, ebx
mov dword [esp + 0xa0], edi
mov ebx, dword [esp + 0xfc]
mov ebx, dword [ebx + 4]
mov edi, dword [esp + 0x8c]
sub edi, ebp
sbb esi, ebx
mov dword [esp + 0x80], esi
mov ebx, dword [esp + 0x88]
xor ebp, ebp
mov edi, 1
xor ebp, ebp
mov dword [esp + 0x40], ebp
xor ebp, ebp
jmp 0x45f1ba
mov eax, 0xa
mul edi
inc ebp
mov esi, dword [esp + 0x40]
lea esi, [esi + esi*4]
lea edx, [edx + esi*2]
mov esi, dword [esp + 0x88]
mov ebx, esi
mov esi, dword [esp + 0x80]
mov edi, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x9c]
cmp ebp, 0x14
jge 0x45f73f
cmp edi, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
mov edx, dword [esp + 0x40]
test edx, edx
sete bl
seta dl
and ebx, esi
or edx, ebx
test dl, dl
je 0x45f184
mov dword [esp + 0x58], ebp
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xd4]
jmp 0x45f25a
mov edx, dword [esp + 0x60]
inc edx
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0xa4]
mov eax, ebx
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0x60]
cmp edi, ebp
jge 0x45f422
sub ebp, edi
lea ebx, [ebp - 1]
cmp ebx, 0x14
jae 0x45f9b6
lea ebx, [0x587320]
lea ebp, [ebx + ebp*8 - 8]
mov ebx, dword [ebp]
mov ebp, dword [ebp + 4]
test ebx, ebx
je 0x45f9b1
mov dword [esp + 0x44], ebp
mov eax, dword [esp + 0x5c]
xor edx, edx
div ebx
mov edx, dword [esp + 0x100]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
cmp edi, ebp
jae 0x45f9a8
mov dword [esp + 0x3c], ebx
mov ebp, eax
imul eax, ebx
mov ebx, dword [esp + 0x5c]
sub ebx, eax
mov dword [esp + 0x5c], ebx
mov eax, ecx
mov ecx, dword [esp + 0xb0]
shl ebx, cl
and ebx, esi
mov dword [esp + 0xac], ebx
mov esi, dword [esp + 0x64]
add ebx, esi
mov dword [esp + 0x70], ebx
add ebp, 0x30
xchg ebp, eax
mov byte [edx + edi], al
xchg ebp, eax
mov ecx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x5c]
shr ebp, cl
mov edx, dword [esp + 0x9c]
and ebp, edx
mov ecx, eax
mov edx, dword [esp + 0x5c]
shl edx, cl
mov edi, dword [esp + 0x94]
and edx, edi
or edx, ebp
mov ebp, dword [esp + 0xac]
add ebp, esi
mov ebp, dword [esp + 0x84]
adc edx, ebp
mov dword [esp + 0x7c], edx
mov ebp, dword [esp + 0xa0]
cmp edx, ebp
setb dl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov edi, dword [esp + 0x74]
cmp ebx, edi
setb bl
and ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x45f221
mov edx, dword [esp + 0x60]
inc edx
mov ebx, dword [esp + 0x100]
mov dword [ebx + 0xc], edx
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x58]
add edx, ebp
mov dword [ebx + 0x10], edx
mov edx, dword [esp + 0xfc]
movzx edx, byte [edx + 0xc]
mov byte [ebx + 0x14], dl
mov dword [esp], ebx
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x3c]
mov ebx, edx
shl edx, cl
mov ebp, dword [esp + 0x98]
and edx, ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x44]
shl edx, cl
mov ecx, eax
mov esi, ebx
shl ebx, cl
mov ecx, dword [esp + 0xa4]
shr esi, cl
and edx, ebp
mov eax, dword [esp + 0x9c]
and esi, eax
or esi, edx
mov eax, dword [esp + 0x94]
and ebx, eax
or ebx, esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 0
call fcn.0045fa10
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x10c], al
add esp, 0xf8
ret
mov edi, dword [esp + 0x100]
mov dword [edi + 0xc], ebp
mov ebx, dword [esp + 0x6c]
add ebx, ebp
mov dword [edi + 0x10], ebx
mov ebx, dword [esp + 0xfc]
movzx ebx, byte [ebx + 0xc]
mov byte [edi + 0x14], bl
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x68], eax
mov dword [esp + 0xc4], ecx
mov ecx, 1
mov dword [esp + 0x50], ecx
xor ecx, ecx
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc4]
jmp 0x45f4f6
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0xa4]
mov esi, dword [esp + 0x9c]
mov eax, edx
mov ecx, dword [esp + 0xa8]
mov edx, ebx
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x100]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x64], ebx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x54], eax
mov ebp, dword [esp + 0x9c]
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0xb4]
mov eax, 0xa
mov ebx, dword [esp + 0x64]
mul ebx
mov dword [esp + 0xac], edx
mov dword [esp + 0x64], eax
mov ebx, eax
mov eax, 0xa
mov edi, dword [esp + 0x50]
mul edi
mov edi, dword [esp + 0x68]
lea edi, [edi + edi*4]
mov ebp, dword [esp + 0xac]
lea ebp, [ebp + edi*2]
mov dword [esp + 0xac], ebp
mov edi, dword [esp + 0x54]
lea edi, [edi + edi*4]
lea edx, [edx + edi*2]
mov dword [esp + 0x90], edx
mov edi, ebp
shr ebp, cl
mov ecx, dword [esp + 0xa4]
shl edi, cl
mov ecx, dword [esp + 0xb0]
shr ebx, cl
and ebx, esi
mov edx, dword [esp + 0x9c]
and edi, edx
or edi, ebx
mov ebx, dword [esp + 0x94]
and ebp, ebx
or ebp, edi
mov edi, dword [esp + 0x100]
mov ebx, dword [edi + 4]
mov edx, dword [edi]
mov edi, dword [edi + 0xc]
cmp edi, ebx
jae 0x45f99f
mov dword [esp + 0xf4], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x8c], ebp
mov ebx, ebp
shl ebp, cl
and ebp, esi
mov esi, dword [esp + 0x64]
sub esi, ebp
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x74]
mul esi
mov dword [esp + 0x78], edx
lea edx, [ebx + 0x30]
mov esi, dword [esp + 0xf4]
mov byte [esi + edi], dl
mov edx, dword [esp + 0x100]
inc dword [edx + 0xc]
mov esi, ebx
sar ebx, 0x1f
mov edi, ecx
mov ecx, dword [esp + 0xa8]
shl esi, cl
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x8c]
shr edx, cl
mov ecx, edi
shl ebx, cl
mov edi, dword [esp + 0x98]
and ebx, edi
mov edi, dword [esp + 0x9c]
and edx, edi
or ebx, edx
mov edx, dword [esp + 0x94]
and esi, edx
or ebx, esi
mov esi, dword [esp + 0x64]
sub esi, ebp
mov ebp, dword [esp + 0xac]
sbb ebp, ebx
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0x50]
imul ebx, esi
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x90]
imul edx, edi
mov esi, dword [esp + 0x78]
add edx, esi
add edx, ebx
mov dword [esp + 0xac], edx
cmp ebp, edx
setb bl
xchg esi, ebx
sete bl
xchg esi, ebx
mov edx, dword [esp + 0x88]
cmp edx, eax
setb dl
and edx, esi
or edx, ebx
test dl, dl
je 0x45f486
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x38]
mul ebx
mov esi, dword [esp + 0x100]
mov dword [esp], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
imul ebx, edi
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x50]
imul ebp, esi
add edx, ebp
add edx, ebx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, 1
shl edx, cl
mov ebx, dword [esp + 0x98]
and edx, ebx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0xa8]
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0xa4]
mov ebx, 1
shr ebx, cl
mov ebp, dword [esp + 0x9c]
and ebx, ebp
mov ebp, dword [esp + 0x94]
and edx, ebp
or edx, ebx
mov dword [esp + 0x20], edx
mov edx, esi
shl esi, 1
mov dword [esp + 0x24], esi
shl edi, 1
shr edx, 0x1f
or edx, edi
mov dword [esp + 0x28], edx
call fcn.0045fa10
movzx edx, byte [esp + 0x2c]
mov byte [esp + 0x10c], dl
add esp, 0xf8
ret
xor ebp, ebp
jmp 0x45f1e0
mov eax, ebx
jmp 0x45efd4
mov eax, esi
mov edx, ecx
jmp 0x45ef35
mov dword [esp + 0xac], edx
test edx, edx
setae bl
cmp edi, 1
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta dl
nop
and ebp, ebx
or edx, ebp
test dl, dl
je 0x45f914
mov edx, edi
xor ebx, ebx
mov ebp, 0x20
mov dword [esp + 0xa8], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x48], ebp
test ebx, ebx
sete dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
cmp edi, 0x10000
setae bl
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x45f905
shr edi, 0x10
mov edx, dword [esp + 0x30]
mov ebx, edx
shl edx, 0x10
or edx, edi
shr ebx, 0x10
mov ebp, dword [esp + 0x48]
add ebp, 0x10
mov dword [esp + 0x30], ebx
mov dword [esp + 0x48], ebp
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
cmp edx, 0x100
setae bl
and ebx, edi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x45f8f6
shr edx, 8
mov ebx, dword [esp + 0x30]
mov ebp, ebx
shl ebx, 0x18
or ebx, edx
shr ebp, 8
mov edx, dword [esp + 0x48]
add edx, 8
test ebp, ebp
jne 0x45f9ce
cmp ebx, 0x100
jae 0x45f9c2
mov dword [esp + 0x48], edx
lea ebp, [0x587dc0]
movzx ebx, byte [ebp + ebx]
mov dword [esp + 0xb0], ebx
lea ebp, [ebx + edx - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0xa4], edi
mov ecx, ebp
mov edx, dword [esp + 0xac]
shl edx, cl
and edx, edi
mov ebx, dword [esp + 0x108]
mov dword [ebx], edx
lea edx, [ecx - 0x20]
mov dword [esp + 0x9c], edx
cmp edx, 0x20
sbb ebx, ebx
neg edx
cmp edx, 0x20
sbb edi, edi
mov dword [esp + 0x98], edi
mov ecx, edx
mov edi, dword [esp + 0xac]
mov edx, edi
shr edi, cl
mov dword [esp + 0xac], edi
mov ecx, dword [esp + 0x9c]
shl edx, cl
mov ecx, ebp
mov edi, dword [esp + 0xa8]
shl edi, cl
and edx, ebx
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x98]
and ebx, ebp
mov ebp, dword [esp + 0xa4]
and edi, ebp
or edi, ebx
or edx, edi
mov ecx, dword [esp + 0x108]
mov dword [ecx + 4], edx
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xb0]
add ebx, ebp
lea edx, [ebx + edx - 0x40]
mov dword [ecx + 8], edx
jmp 0x45ee9b
mov ebx, edx
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
jmp 0x45f816
mov ebx, dword [esp + 0x30]
mov edx, edi
mov ebp, dword [esp + 0x48]
jmp 0x45f7cf
mov edx, edi
mov ebx, edx
mov edi, dword [esp + 0xac]
xor ebp, ebp
jmp 0x45f785
mov ebp, dword [esp + 0x108]
mov edi, dword [esp + 0x104]
jmp 0x45ee77
mov ebp, dword [esp + 0x108]
mov edi, dword [esp + 0x104]
jmp 0x45ee77
mov ebp, dword [esp + 0x108]
mov edi, dword [esp + 0x104]
jmp 0x45ee77
mov ebp, dword [esp + 0x108]
mov esi, edx
mov edi, dword [esp + 0x104]
jmp 0x45ee77
mov eax, dword [esp + 0x100]
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
movzx ecx, byte [edx + 0xc]
mov byte [eax + 0x14], cl
mov byte [esp + 0x10c], 1
add esp, 0xf8
ret
mov eax, edi
mov ecx, ebx
call fcn.004558e0
mov eax, edi
mov ecx, ebp
call fcn.004558e0
call fcn.0042c2d0
mov eax, ebx
mov ecx, 0x14
call fcn.004558e0
mov eax, ebx
mov ecx, 0x100
call fcn.004558f0
mov esi, ebp
mov eax, ebx
mov ecx, 0x100
call fcn.004559c0
call fcn.004558e0
mov eax, ecx
mov ecx, esi
call fcn.004558e0
mov eax, ebp
mov ecx, 0x18
call fcn.004558e0
mov eax, ebx
mov ecx, 0x18
call fcn.004558e0
nop
call fcn.00454020
jmp fcn.0045ec70