Function at 0x45da70
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 0x45e790
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 0x45e72d
mov ebx, dword [edx + 8]
test ebx, ebx
jne 0x45e718
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 0x45e705
mov ebx, dword [esi + 8]
cmp ebx, edi
jne 0x45e6f2
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 0x45e6e6
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 0x45dcac
mov edx, dword [esi + 8]
mov ebx, dword [esp + 0xac]
cmp edx, ebx
jne 0x45dcac
movzx edx, byte [esi + 0xc]
movzx ebx, byte [esp + 0x33]
cmp dl, bl
jne 0x45dcac
lea edi, [esp + 0xd8]
xor eax, eax
call fcn.00449dda
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov eax, 0x17
jmp 0x45db96
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 0x45dc0b
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.004457e0
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 0x45db7f
jmp 0x45e789
lea edx, [eax - 0x17]
neg edx
mov ebx, dword [esp + 0xf8]
xor ebp, ebp
jmp 0x45dc31
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 0x45dc5f
lea esi, [eax + ebp + 1]
lea edi, [eax + ebp]
cmp esi, 0x18
jae 0x45e782
mov esi, dword [ebx]
mov ecx, dword [ebx + 4]
lea ebx, [esp + 0xd8]
movzx edi, byte [edi + ebx + 1]
cmp ebp, ecx
jb 0x45dc1b
jmp 0x45e782
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
jmp 0x45dc6a
mov dword [ebx + 0xc], esi
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x45dc8d
mov edx, dword [ebx + 4]
mov ebp, dword [ebx]
lea esi, [eax - 1]
cmp esi, edx
jae 0x45e77b
movzx edx, byte [eax + ebp - 1]
cmp dl, 0x30
je 0x45dc67
test eax, eax
jne 0x45dc96
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 0x45e546
mov eax, dword [ecx + 8]
mov edx, dword [esi + 8]
cmp eax, edx
jle 0x45e53d
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 0x45e536
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.0045cfd0
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 0x45df91
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 0x45e52f
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 0x45df5a
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 0x45e03e
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 0x45e1ff
sub ebp, edx
lea esi, [ebp - 1]
cmp esi, 0x14
jae 0x45e76d
lea esi, [0x5abd60]
lea ebp, [esi + ebp*8 - 8]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
test esi, esi
je 0x45e766
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 0x45e75f
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 0x45e005
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.0045e7a0
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 0x45e2d3
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 0x45e758
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 0x45e26c
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.0045e7a0
movzx edx, byte [esp + 0x2c]
mov byte [esp + 0x104], dl
add esp, 0xf0
ret
xor ebp, ebp
jmp 0x45dfbd
mov eax, edx
jmp 0x45ddc0
mov eax, ecx
mov edx, esi
jmp 0x45dd44
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 0x45e6d3
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 0x45e6c6
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 0x45e6bd
shr ebp, 8
mov esi, ebx
shl ebx, 0x18
or ebx, ebp
shr esi, 8
add eax, 8
test esi, esi
jne 0x45e774
cmp ebx, 0x100
jae 0x45e774
mov dword [esp + 0x4c], eax
mov dword [esp + 0xa0], edx
lea ebp, [0x5acba0]
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 0x45dccb
mov esi, ebx
mov ebx, ebp
jmp 0x45e5f6
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0x4c]
jmp 0x45e5b9
mov ebx, eax
mov eax, edx
mov ebp, ebx
xor edx, edx
mov dword [esp + 0x4c], edx
mov edx, eax
jmp 0x45e576
mov esi, dword [esp + 0x100]
jmp 0x45dcac
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xfc]
jmp 0x45dcac
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xfc]
jmp 0x45dcac
mov ecx, edx
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xfc]
jmp 0x45dcac
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.00424490
ud2
call fcn.00424490
ud2
call fcn.00424690
ud2
call fcn.00424490
ud2
call fcn.00424490
ud2
call fcn.00424490
ud2
call fcn.00424490
ud2
call fcn.00424490
ud2
call fcn.00448580
jmp fcn.0045da70