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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x457b30
sub esp, 0xf0
mov edx, dword [esp + 0xf4]
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
test ebx, ebx
mov eax, ebx
sete bl
and ebx, esi
test bl, bl
jne 0x457acd
mov ebx, dword [edx + 8]
test ebx, ebx
jne 0x457ab8
mov esi, dword [esp + 0xfc]
mov ecx, edx
mov edx, dword [esi]
mov edi, ebx
mov ebx, dword [esi + 4]
cmp edx, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ebx, eax
mov eax, ebx
sete bl
and ebx, ebp
test bl, bl
je 0x457aa5
mov ebx, dword [esi + 8]
cmp ebx, edi
jne 0x457a92
movzx ebp, byte [esi + 0xc]
mov edi, esi
movzx esi, byte [ecx + 0xc]
xchg esi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg esi, eax
jne 0x457a86
mov dword [esp + 0xac], ebx
xchg ebp, eax
mov byte [esp + 0x33], al
xchg ebp, eax
mov esi, dword [esp + 0x100]
mov ebp, dword [esi]
mov ebx, dword [esi + 4]
cmp ebp, edx
sete dl
cmp ebx, eax
sete bl
and ebx, edx
test bl, bl
je 0x45704c
mov edx, dword [esi + 8]
mov ebx, dword [esp + 0xac]
cmp edx, ebx
jne 0x45704c
movzx edx, byte [esi + 0xc]
movzx ebx, byte [esp + 0x33]
cmp dl, bl
jne 0x45704c
lea edi, [esp + 0xd8]
xor eax, eax
call fcn.0044c95a
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov eax, 0x17
jmp 0x456f36
mov byte [esp + ebx + 0xd8], dl
lea ebp, [ebx - 1]
mov ebx, ecx
mov edx, eax
mov eax, ebp
mov ecx, dword [esp + 0xf4]
test ebx, ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
test edx, edx
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebp
test edx, edx
xchg ebp, ebx
seta bl
xchg ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x456fab
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], eax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call fcn.00448210
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 + 0x48]
cmp ebx, 0x18
jb 0x456f1f
jmp 0x457b29
lea edx, [eax - 0x17]
neg edx
mov ebx, dword [esp + 0xf8]
xor ebp, ebp
jmp 0x456fd1
xchg edi, eax
mov byte [esi + ebp], al
xchg edi, eax
inc ebp
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
mov ebx, esi
cmp ebp, edx
jge 0x456fff
lea esi, [eax + ebp + 1]
lea edi, [eax + ebp]
cmp esi, 0x18
jae 0x457b22
mov esi, dword [ebx]
mov ecx, dword [ebx + 4]
lea ebx, [esp + 0xd8]
movzx edi, byte [edi + ebx + 1]
cmp ebp, ecx
jb 0x456fbb
jmp 0x457b22
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
jmp 0x45700a
mov dword [ebx + 0xc], esi
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x45702d
mov edx, dword [ebx + 4]
mov ebp, dword [ebx]
lea esi, [eax - 1]
cmp esi, edx
jae 0x457b1b
movzx edx, byte [eax + ebp - 1]
cmp dl, 0x30
je 0x457007
test eax, eax
jne 0x457036
mov dword [ebx + 0x10], 0
movzx eax, byte [ecx + 0xc]
mov byte [ebx + 0x14], al
mov byte [esp + 0x104], 1
add esp, 0xf0
ret
mov eax, dword [esi + 4]
mov edx, dword [esi]
test edx, edx
sete bl
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4578e6
mov eax, dword [ecx + 8]
mov edx, dword [esi + 8]
cmp eax, edx
jle 0x4578dd
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov dword [esp + 0xa8], ebp
sub eax, edx
mov edx, ecx
mov ecx, eax
shl ebp, cl
cmp eax, 0x20
sbb edi, edi
and ebp, edi
mov dword [edx], ebp
lea ebp, [eax - 0x20]
mov ecx, ebp
mov esi, dword [esp + 0xa8]
shl esi, cl
cmp ecx, 0x20
sbb edx, edx
and esi, edx
mov ecx, eax
shl ebx, cl
and ebx, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov ecx, ebp
mov eax, dword [esp + 0xa8]
shr eax, cl
cmp ecx, 0x20
sbb edx, edx
and eax, edx
or eax, ebx
or esi, eax
mov eax, dword [esp + 0xf4]
mov dword [eax + 4], esi
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0xfc]
mov ecx, dword [ebx + 8]
mov ebp, dword [edx + 8]
cmp ecx, ebp
jle 0x4578d6
mov esi, dword [ebx + 4]
mov edi, dword [ebx]
mov dword [esp + 0xa8], edi
sub ecx, ebp
mov dword [esp + 0xac], ecx
mov ebp, edi
shl edi, cl
cmp ecx, 0x20
sbb eax, eax
and edi, eax
mov dword [ebx], edi
lea edi, [ecx - 0x20]
mov ecx, edi
shl ebp, cl
cmp ecx, 0x20
sbb edx, edx
and ebp, edx
mov ecx, dword [esp + 0xac]
shl esi, cl
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ecx, edi
mov edx, dword [esp + 0xa8]
shr edx, cl
cmp ecx, 0x20
sbb edi, edi
and edx, edi
and esi, eax
or esi, edx
or ebp, esi
mov dword [ebx + 4], ebp
mov eax, dword [esp + 0x100]
mov edx, dword [eax + 8]
mov dword [ebx + 8], edx
mov dword [esp], ebx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00456370
mov eax, dword [esp + 0x100]
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 + 0xfc]
mov ebx, dword [ecx]
add ebx, 0xffffffff
mov dword [esp + 0xa8], ebx
mov ebp, dword [ecx + 4]
mov dword [ecx], ebx
adc ebp, 0xffffffff
mov dword [esp + 0xa4], ebp
mov dword [ecx + 4], ebp
mov ecx, dword [eax + 8]
neg ecx
mov dword [esp + 0xac], ecx
lea esi, [ecx - 0x20]
mov edi, dword [eax + 4]
mov dword [esp + 0xa0], edi
mov ecx, esi
shr edi, cl
neg ecx
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0xa0]
shl edx, cl
mov eax, dword [eax]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xac]
shr eax, cl
cmp ecx, 0x20
sbb ebp, ebp
mov dword [esp + 0x94], ebp
and eax, ebp
mov ebx, dword [esp + 0x9c]
cmp ebx, 0x20
sbb ebx, ebx
mov dword [esp + 0x90], ebx
and edx, ebx
or edx, eax
cmp esi, 0x20
sbb eax, eax
and edi, eax
or edi, edx
mov dword [esp + 0x8c], edi
mov edx, edi
shl edi, cl
and edi, ebp
mov ebp, dword [esp + 0x98]
sub ebp, edi
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x98]
mov ecx, dword [esp + 0xa8]
sub ebp, ecx
mov dword [esp + 0x74], ebp
mov ebp, dword [esp + 0xf4]
mov ebp, dword [ebp]
mov ecx, dword [esp + 0x98]
sub ecx, ebp
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x9c]
shr edx, cl
and edx, ebx
mov ecx, esi
mov ebx, dword [esp + 0x8c]
shl ebx, cl
and ebx, eax
or ebx, edx
mov edx, dword [esp + 0x98]
sub edx, edi
mov edx, dword [esp + 0xa0]
mov edi, edx
sbb edx, ebx
mov dword [esp + 0x88], edx
mov ebx, dword [esp + 0x98]
mov edx, dword [esp + 0xa8]
sub ebx, edx
mov edx, dword [esp + 0xa4]
mov ebx, edi
sbb edi, edx
mov dword [esp + 0xa4], edi
mov edx, dword [esp + 0xf4]
mov edx, dword [edx + 4]
mov edi, dword [esp + 0x98]
sub edi, ebp
sbb ebx, edx
mov dword [esp + 0x84], ebx
mov edx, dword [esp + 0x8c]
xor ebp, ebp
mov edi, 1
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov ecx, esi
jmp 0x457331
mov edx, eax
mov eax, edi
mov esi, 0xa
mov edi, edx
mul esi
inc ebp
lea ebx, [ebx + ebx*4]
lea edx, [edx + ebx*2]
mov ebx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov esi, ecx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x8c]
mov ecx, eax
mov eax, edi
mov edi, ecx
mov ecx, esi
cmp ebp, 0x14
jge 0x4578cf
mov ebx, dword [esp + 0x44]
test ebx, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp edi, edx
seta dl
and edx, esi
test ebx, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
or edx, esi
test dl, dl
je 0x4572fa
mov dword [esp + 0xa8], eax
mov dword [esp + 0x58], ebp
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
mov dword [esp + 0xd0], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xd0]
jmp 0x4573de
mov edx, dword [esp + 0x60]
inc edx
mov ebx, dword [esp + 0xa8]
mov esi, dword [esp + 0x88]
mov eax, ebx
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x88]
mov edx, dword [esp + 0x60]
cmp edx, ebp
jge 0x45759f
sub ebp, edx
lea esi, [ebp - 1]
cmp esi, 0x14
jae 0x457b0d
lea esi, [0xc1e400]
lea ebp, [esi + ebp*8 - 8]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
test esi, esi
je 0x457b06
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x5c]
xor edx, edx
div esi
mov edx, dword [esp + 0xf8]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
mov ebx, dword [esp + 0x60]
cmp ebx, ebp
jae 0x457aff
mov dword [esp + 0x3c], esi
mov ebp, eax
imul eax, esi
mov esi, dword [esp + 0x5c]
sub esi, eax
mov dword [esp + 0x5c], esi
mov eax, ecx
mov ecx, dword [esp + 0xac]
shl esi, cl
and esi, edi
mov dword [esp + 0xa0], esi
mov edi, dword [esp + 0x64]
add esi, edi
mov dword [esp + 0x70], esi
add ebp, 0x30
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
mov ecx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x5c]
shr ebp, cl
mov edx, dword [esp + 0x90]
and ebp, edx
mov ecx, eax
mov edx, dword [esp + 0x5c]
shl edx, cl
mov ebx, dword [esp + 0xa8]
and edx, ebx
or edx, ebp
mov ebp, dword [esp + 0xa0]
add ebp, edi
mov ebp, dword [esp + 0x88]
adc edx, ebp
mov ebp, dword [esp + 0xa4]
cmp edx, ebp
sete bl
mov edi, dword [esp + 0x74]
cmp esi, edi
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebx
cmp edx, ebp
setb bl
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4573a5
mov ebx, dword [esp + 0x60]
inc ebx
mov esi, dword [esp + 0xf8]
mov dword [esi + 0xc], ebx
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x58]
add eax, ebx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0xf4]
movzx eax, byte [eax + 0xc]
mov byte [esi + 0x14], al
mov dword [esp], esi
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebp
mov eax, ecx
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x3c]
mov ebx, edx
shl edx, cl
mov ebp, dword [esp + 0x94]
and edx, ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x40]
shl edx, cl
and edx, ebp
mov ecx, dword [esp + 0x9c]
mov ebp, ebx
shr ebx, cl
mov esi, dword [esp + 0x90]
and ebx, esi
or ebx, edx
mov ecx, eax
shl ebp, cl
mov eax, dword [esp + 0xa8]
and ebp, eax
or ebp, ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 0
call fcn.00457b40
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x104], al
add esp, 0xf0
ret
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0xf8]
mov dword [edx + 0xc], ebp
mov esi, dword [esp + 0x6c]
add ebp, esi
mov dword [edx + 0x10], ebp
mov ebp, dword [esp + 0xf4]
movzx ebp, byte [ebp + 0xc]
xchg ebp, eax
mov byte [edx + 0x14], al
xchg ebp, eax
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x90]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x68], eax
mov dword [esp + 0xc0], ecx
mov ecx, 1
mov dword [esp + 0x50], ecx
xor ecx, ecx
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc0]
jmp 0x457673
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x90]
mov eax, ebp
mov edx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x94]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xb0]
mov edx, dword [esp + 0xf8]
mov eax, 0xa
mov ebp, dword [esp + 0x64]
mul ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x64], eax
mov ebp, eax
mov eax, dword [esp + 0x50]
mov esi, 0xa
mul esi
mov esi, dword [esp + 0x68]
lea esi, [esi + esi*4]
mov edi, dword [esp + 0x9c]
lea esi, [edi + esi*2]
mov dword [esp + 0x9c], esi
mov edi, dword [esp + 0x54]
lea edi, [edi + edi*4]
lea edx, [edx + edi*2]
mov dword [esp + 0x98], edx
mov edi, esi
shr esi, cl
mov ecx, dword [esp + 0xac]
shr ebp, cl
mov ecx, ebx
shl edi, cl
mov edx, dword [esp + 0x94]
and ebp, edx
mov ebx, dword [esp + 0x90]
and edi, ebx
or edi, ebp
mov ebp, dword [esp + 0xa8]
and esi, ebp
or esi, edi
mov edi, dword [esp + 0xf8]
mov ebp, dword [edi + 4]
mov ebx, dword [edi]
mov edi, dword [edi + 0xc]
cmp edi, ebp
jae 0x457af8
mov dword [esp + 0x50], eax
mov dword [esp + 0x8c], esi
mov ebp, ecx
mov ecx, dword [esp + 0xac]
shl esi, cl
and esi, edx
mov dword [esp + 0x80], esi
mov edx, dword [esp + 0x64]
sub edx, esi
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x74]
mul edx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x8c]
lea esi, [edx + 0x30]
xchg esi, eax
mov byte [ebx + edi], al
xchg esi, eax
mov ebx, dword [esp + 0xf8]
mov esi, dword [ebx + 0xc]
inc esi
mov dword [ebx + 0xc], esi
mov esi, edx
sar edx, 0x1f
shl edx, cl
mov ecx, dword [esp + 0xa0]
shl esi, cl
mov ecx, ebp
mov ebx, dword [esp + 0x8c]
shr ebx, cl
mov ebp, dword [esp + 0x94]
and edx, ebp
mov ebp, dword [esp + 0x90]
and ebx, ebp
or edx, ebx
mov ebx, dword [esp + 0xa8]
and esi, ebx
or edx, esi
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x80]
sub esi, ebx
mov ebx, dword [esp + 0x9c]
sbb ebx, edx
mov edx, dword [esp + 0xa4]
mov esi, dword [esp + 0x50]
imul edx, esi
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x98]
imul ebp, edi
mov esi, dword [esp + 0x78]
add ebp, esi
add edx, ebp
cmp ebx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x7c]
cmp esi, eax
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebp
cmp ebx, edx
xchg ebp, ebx
setb bl
xchg ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x45760c
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x38]
mul esi
mov ebp, dword [esp + 0xf8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x7c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
imul esi, edi
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x50]
imul ebx, ebp
add edx, ebx
add edx, esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x18], edx
mov eax, ecx
mov ecx, dword [esp + 0xac]
mov edx, 1
shl edx, cl
mov ebx, dword [esp + 0x94]
and edx, ebx
mov dword [esp + 0x1c], edx
mov ecx, eax
mov edx, 1
shr edx, cl
mov ecx, dword [esp + 0xa0]
mov ebx, 1
shl ebx, cl
mov esi, dword [esp + 0x90]
and edx, esi
mov esi, dword [esp + 0xa8]
and ebx, esi
or ebx, edx
mov dword [esp + 0x20], ebx
mov edx, ebp
shl ebp, 1
mov dword [esp + 0x24], ebp
shl edi, 1
shr edx, 0x1f
or edx, edi
mov dword [esp + 0x28], edx
call fcn.00457b40
movzx edx, byte [esp + 0x2c]
mov byte [esp + 0x104], dl
add esp, 0xf0
ret
xor ebp, ebp
jmp 0x45735d
mov eax, edx
jmp 0x457160
mov eax, ecx
mov edx, esi
jmp 0x4570e4
test edx, edx
setae bl
cmp eax, 1
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
cmp eax, 1
seta bl
or ebx, ebp
test bl, bl
je 0x457a73
mov ebx, eax
xor ebp, ebp
mov eax, 0x20
mov dword [esp + 0x4c], eax
mov eax, ebx
mov dword [esp + 0xa8], ebx
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
cmp eax, 0x10000
setae bl
and ebx, edi
test ebp, ebp
xchg edi, ebx
seta bl
xchg edi, ebx
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x457a66
shr eax, 0x10
mov ebx, ebp
shl ebp, 0x10
or ebp, eax
shr ebx, 0x10
mov eax, dword [esp + 0x4c]
add eax, 0x10
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
cmp ebp, 0x100
xchg esi, ebx
setae bl
xchg esi, ebx
and esi, edi
test ebx, ebx
xchg edi, ebx
seta bl
xchg edi, ebx
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x457a5d
shr ebp, 8
mov esi, ebx
shl ebx, 0x18
or ebx, ebp
shr esi, 8
add eax, 8
test esi, esi
jne 0x457b14
cmp ebx, 0x100
jae 0x457b14
mov dword [esp + 0x4c], eax
mov dword [esp + 0xa0], edx
lea ebp, [0xc21100]
movzx ebx, byte [ebp + ebx]
mov dword [esp + 0xac], ebx
lea ebp, [eax + ebx - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov esi, ecx
mov ecx, ebp
mov edi, edx
shl edx, cl
cmp ecx, 0x20
sbb eax, eax
and edx, eax
mov ebx, dword [esp + 0x100]
mov dword [ebx], edx
lea edx, [ecx - 0x20]
mov dword [esp + 0x9c], edx
neg edx
mov ecx, edx
shr edi, cl
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
shl ebx, cl
cmp ecx, 0x20
mov ecx, eax
sbb eax, eax
and ebx, eax
cmp edx, 0x20
sbb eax, eax
and edi, eax
mov eax, ecx
mov ecx, ebp
mov edx, dword [esp + 0xa8]
shl edx, cl
and edx, eax
or edx, edi
or ebx, edx
mov eax, dword [esp + 0x100]
mov dword [eax + 4], ebx
mov edx, dword [eax + 8]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x4c]
add ebx, ebp
lea edx, [ebx + edx - 0x40]
mov dword [eax + 8], edx
mov ecx, esi
mov esi, eax
mov edi, dword [esp + 0xfc]
jmp 0x45706b
mov esi, ebx
mov ebx, ebp
jmp 0x457996
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0x4c]
jmp 0x457959
mov ebx, eax
mov eax, edx
mov ebp, ebx
xor edx, edx
mov dword [esp + 0x4c], edx
mov edx, eax
jmp 0x457916
mov esi, dword [esp + 0x100]
jmp 0x45704c
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xfc]
jmp 0x45704c
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xfc]
jmp 0x45704c
mov ecx, edx
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xfc]
jmp 0x45704c
mov eax, dword [esp + 0xf8]
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
movzx ecx, byte [edx + 0xc]
mov byte [eax + 0x14], cl
mov byte [esp + 0x104], 1
add esp, 0xf0
ret
call fcn.00426770
ud2
call fcn.00426770
ud2
call fcn.00426970
ud2
call fcn.00426770
ud2
call fcn.00426770
ud2
call fcn.00426770
ud2
call fcn.00426770
ud2
call fcn.00426770
ud2
call fcn.0044b100
jmp fcn.00456e10