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

Disassembly:
mov ecx, dword [0x5c05a8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x1a4]
cmp eax, dword [ecx + 8]
jbe 0x4b8335
sub esp, 0x224
lea edi, [esp + 0x88]
xor eax, eax
call fcn.0046c800
mov ecx, dword [esp + 0x22c]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov eax, dword [esp + 0x230]
mov edi, dword [esp + 0x23c]
mov dword [esp + 0x1b8], eax
xor eax, eax
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x1b8]
jmp 0x4b715c
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x10]
xor edx, eax
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x14]
xor eax, ebp
mov ebp, dword [esp + 0x228]
xor eax, dword [ebp + 4]
xor dword [ebp], edx
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0xc]
xor eax, edx
xor eax, dword [ebp + 0xc]
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x78]
xor edx, edi
xor dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
xor eax, edx
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x74]
xor edx, edi
xor edx, dword [ebp + 0x14]
xor dword [ebp + 0x10], eax
mov dword [ebp + 0x14], edx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x68]
xor eax, edx
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x3c]
xor edx, edi
xor edx, dword [ebp + 0x1c]
xor dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], edx
mov eax, dword [esp + 0x30]
xor ecx, eax
mov eax, dword [esp + 0x34]
xor eax, esi
xor eax, dword [ebp + 0x24]
xor dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], eax
mov eax, dword [esp + 0x28]
xor eax, ebx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
xor ecx, edx
xor ecx, dword [ebp + 0x2c]
xor dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
xor eax, ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
xor ecx, edx
xor ecx, dword [ebp + 0x34]
xor dword [ebp + 0x30], eax
mov dword [ebp + 0x34], ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
xor eax, ecx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
xor ecx, edx
xor ecx, dword [ebp + 0x3c]
xor dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], ecx
mov eax, dword [esp + 0x230]
mov edi, dword [esp + 0x23c]
mov ecx, dword [esp + 0x234]
mov ebx, dword [esp + 0x220]
mov edx, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
mov ecx, dword [esp + 0x22c]
mov ebp, dword [esp + 0x114]
mov dword [esp + 0x118], esi
mov esi, dword [esp + 0x110]
cmp edi, esi
jle 0x4b735f
add edx, 0x80
adc ebx, 0
test ebx, ebx
sete cl
cmp edx, 0x80
xchg edi, ebx
setb bl
xchg edi, ebx
and ecx, edi
test cl, cl
je 0x4b71a2
add ebp, 1
mov edi, dword [esp + 0x118]
adc edi, 0
jmp 0x4b71a9
mov edi, dword [esp + 0x118]
mov dword [esp + 0x114], ebp
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], edx
mov dword [esp + 0x220], ebx
mov ecx, dword [0x594a00]
mov esi, dword [0x594a04]
mov eax, dword [0x594a08]
mov dword [esp + 0x58], eax
mov eax, dword [0x594a0c]
mov dword [esp + 0x5c], eax
mov ebp, dword [0x594a10]
mov dword [esp + 0x50], ebp
mov ebp, dword [0x594a14]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x228]
mov eax, dword [ebp + 4]
mov dword [esp + 0x84], eax
mov eax, dword [ebp]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x18], eax
mov ebp, dword [ebp + 0x3c]
mov dword [esp + 0x1c], ebp
mov eax, dword [0x5949e0]
mov dword [esp + 0x10], eax
mov eax, dword [0x5949e4]
mov dword [esp + 0x14], eax
mov eax, dword [0x5949e8]
mov dword [esp + 8], eax
mov eax, dword [0x5949ec]
mov dword [esp + 0xc], eax
mov eax, dword [0x5949f0]
mov dword [esp + 0x70], eax
mov eax, dword [0x5949f4]
mov dword [esp + 0x74], eax
mov eax, dword [0x5949f8]
mov dword [esp + 0x68], eax
mov eax, dword [0x5949fc]
mov dword [esp + 0x6c], eax
mov eax, dword [0x594a18]
mov dword [esp + 0x48], eax
mov eax, dword [0x594a1c]
mov dword [esp + 0x4c], eax
xor ecx, edx
mov dword [esp + 0x60], ecx
xor esi, ebx
mov dword [esp + 0x64], esi
mov edx, dword [esp + 0x5c]
xor edx, edi
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x114]
xor ebx, edi
mov dword [esp + 0x58], ebx
mov edi, dword [esp + 0x230]
mov edx, dword [esp + 0x50]
xor edx, edi
mov dword [esp + 0x50], edx
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x234]
xor edi, edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x1b0], eax
xor eax, eax
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x1b0]
jmp 0x4b7451
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x1a8], eax
xor eax, eax
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x1a8]
jmp 0x4b76f3
mov dword [ecx], edx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebp
mov eax, dword [esp + 0x118]
mov dword [ecx + 0xc], eax
add esp, 0x224
ret
lea ebx, [esp + edx*8 + 0x88]
mov eax, dword [esp + 0x238]
movzx ecx, byte [eax + esi]
movzx edi, byte [eax + esi + 1]
mov dword [esp + 0x21c], edi
shl edi, 8
or ecx, edi
mov edi, dword [esp + 0x21c]
shr edi, 0x18
movzx ebp, byte [eax + esi + 2]
mov dword [esp + 0x21c], ebp
shr ebp, 0x10
or ebp, edi
mov edi, dword [esp + 0x21c]
shl edi, 0x10
or edi, ecx
movzx ecx, byte [eax + esi + 3]
mov dword [esp + 0x21c], ecx
shr ecx, 8
or ecx, ebp
mov ebp, dword [esp + 0x21c]
shl ebp, 0x18
or ebp, edi
movzx edi, byte [eax + esi + 4]
or edi, ecx
movzx ecx, byte [eax + esi + 5]
shl ecx, 8
or edi, ecx
movzx ecx, byte [eax + esi + 6]
shl ecx, 0x10
or ecx, edi
movzx esi, byte [eax + esi + 7]
mov dword [ebx], ebp
shl esi, 0x18
or esi, ecx
mov dword [ebx + 4], esi
lea ecx, [edx + 1]
mov edx, dword [esp + 0x110]
add edx, 8
mov ebx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], edx
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x234]
mov edx, dword [esp + 0x10c]
cmp edx, 0x10
jge 0x4b733f
mov ebx, dword [esp + 0x23c]
mov ebp, dword [esp + 0x110]
cmp ebx, ebp
jb 0x4b832b
sub ebx, ebp
mov esi, dword [esp + 0x240]
sub esi, ebp
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebp
cmp ebx, 7
ja 0x4b7378
jmp 0x4b831f
mov dword [esp + 0x1e0], ebp
mov dword [esp + 0x1cc], ecx
lea eax, [esp + eax*8 + 0x88]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x108]
inc ebx
mov dword [esp + 0x218], ebx
nop
mov ecx, dword [esp + 0x38]
add edx, ecx
mov ecx, dword [esp + 0x1ec]
adc eax, ecx
mov ecx, dword [esp + 0x1f4]
add edx, ecx
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x210]
adc eax, ebx
mov dword [esp + 0x1ec], eax
mov ebp, dword [esp + 0x50]
xor ebp, eax
mov dword [esp + 0x210], ebp
mov eax, dword [esp + 0x54]
xor eax, edx
mov dword [esp + 0x50], eax
shl eax, 0x10
shr ebp, 0x10
or eax, ebp
mov dword [esp + 0x1f4], eax
mov ebp, dword [esp + 0x50]
shr ebp, 0x10
mov edx, dword [esp + 0x210]
shl edx, 0x10
or edx, ebp
mov dword [esp + 0x210], edx
mov ebp, dword [esp + 8]
add ebp, edx
mov edx, dword [esp + 0x208]
adc edx, eax
mov dword [esp + 0x208], edx
xor ebx, edx
mov dword [esp + 0x34], ebx
xor ecx, ebp
mov dword [esp + 0x30], ecx
shl ebx, 1
shl ecx, 1
mov eax, dword [esp + 0x30]
shr eax, 0x1f
mov edx, dword [esp + 0x34]
shr edx, 0x1f
or eax, ebx
or edx, ecx
mov ecx, dword [esp + 0x1e8]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x218]
mov dword [esp + 0x108], eax
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0x1a0]
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x188], edx
mov edx, dword [esp + 0x214]
mov dword [esp + 0x14], edx
mov dword [esp + 0x180], ebx
mov ebx, dword [esp + 0x20c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x178], ebp
mov ebp, dword [esp + 0x1d4]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x170], esi
mov esi, dword [esp + 0x1e4]
mov dword [esp + 0x28], esi
mov ebx, dword [esp + 0x204]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x168], edi
mov edi, dword [esp + 0x208]
mov dword [esp + 0xc], edi
mov dword [esp + 0x160], edi
mov edi, dword [esp + 0x178]
mov dword [esp + 8], edi
mov dword [esp + 0x158], edi
mov edi, dword [esp + 0x1fc]
mov dword [esp + 0x44], edi
mov dword [esp + 0x150], edi
mov edi, dword [esp + 0x1d0]
mov dword [esp + 0x24], edi
mov dword [esp + 0x148], edi
mov edi, dword [esp + 0x1cc]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x1f4]
mov dword [esp + 0x140], edi
mov edi, dword [esp + 0x210]
mov dword [esp + 0x50], edi
mov dword [esp + 0x138], edi
mov edi, dword [esp + 0x1f8]
mov dword [esp + 0x74], edi
mov dword [esp + 0x130], edi
mov edi, dword [esp + 0x1ec]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x128], edi
mov edi, dword [esp + 0x1e0]
mov dword [esp + 0x18], edi
mov ebp, dword [esp + 0x170]
mov dword [esp + 0x120], ebp
mov ebp, dword [esp + 0x200]
mov dword [esp + 0x48], ebp
mov eax, dword [esp + 0x1f0]
mov edx, dword [esp + 0x198]
mov esi, dword [esp + 0x1d8]
mov edi, dword [esp + 0x1f4]
mov ebp, dword [esp + 0x170]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x108]
cmp edx, 0xc
jge 0x4b703b
shl edx, 4
lea ebp, [0x594e60]
movzx eax, byte [ebp + edx]
cmp eax, 0x10
jae 0x4b8315
mov dword [esp + 0x58], ebx
mov dword [esp + 0x218], edx
lea eax, [esp + eax*8 + 0x88]
mov edi, dword [eax]
mov eax, dword [eax + 4]
movzx ebx, byte [ebp + edx + 1]
nop
mov edx, dword [esp + 0x80]
add edi, edx
mov edx, dword [esp + 0x84]
adc eax, edx
mov edx, dword [esp + 0x30]
add edi, edx
mov dword [esp + 0x80], edi
mov ebp, dword [esp + 0x34]
adc eax, ebp
xor esi, eax
mov dword [esp + 0x64], esi
xor ecx, edi
mov edi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0x14]
adc esi, ecx
mov dword [esp + 0x214], esi
xor ebp, esi
mov dword [esp + 0x34], ebp
xor edx, edi
mov dword [esp + 0x30], edx
shl edx, 8
shl ebp, 8
mov esi, dword [esp + 0x34]
shr esi, 0x18
mov edi, dword [esp + 0x30]
shr edi, 0x18
or esi, edx
or ebp, edi
cmp ebx, 0x10
jae 0x4b8309
mov dword [esp + 0x60], ecx
mov dword [esp + 0x21c], esi
mov dword [esp + 0x210], ebp
lea edx, [esp + ebx*8 + 0x88]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov edi, dword [esp + 0x218]
lea esi, [0x594e60]
movzx ecx, byte [esi + edi + 2]
nop
mov ebp, dword [esp + 0x78]
add ebx, ebp
mov ebp, dword [esp + 0x7c]
adc edx, ebp
mov ebp, dword [esp + 0x28]
add ebx, ebp
mov dword [esp + 0x78], ebx
mov esi, dword [esp + 0x2c]
adc edx, esi
mov dword [esp + 0x20c], edx
mov edi, dword [esp + 0x5c]
xor edi, edx
mov dword [esp + 0x5c], edi
mov edx, dword [esp + 0x58]
xor edx, ebx
mov ebx, dword [esp + 8]
add ebx, edi
mov dword [esp + 8], ebx
mov edi, dword [esp + 0xc]
adc edi, edx
mov dword [esp + 0x208], edi
xor esi, edi
mov dword [esp + 0x2c], esi
xor ebp, ebx
mov dword [esp + 0x28], ebp
shl ebp, 8
shl esi, 8
mov edi, dword [esp + 0x2c]
shr edi, 0x18
mov ebx, dword [esp + 0x28]
shr ebx, 0x18
or edi, ebp
or esi, ebx
cmp ecx, 0x10
jae 0x4b82fd
mov dword [esp + 0x58], edx
mov dword [esp + 0x204], edi
mov dword [esp + 0x200], esi
lea ebx, [esp + ecx*8 + 0x88]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
mov edx, dword [esp + 0x218]
lea edi, [0x594e60]
movzx ecx, byte [edi + edx + 3]
nop
mov esi, dword [esp + 0x40]
add ebp, esi
mov esi, dword [esp + 0x44]
adc ebx, esi
mov esi, dword [esp + 0x20]
add ebp, esi
mov dword [esp + 0x40], ebp
mov edx, dword [esp + 0x24]
adc ebx, edx
mov dword [esp + 0x1fc], ebx
mov edi, dword [esp + 0x54]
xor edi, ebx
mov dword [esp + 0x54], edi
mov ebx, dword [esp + 0x50]
xor ebx, ebp
mov ebp, dword [esp + 0x70]
add ebp, edi
mov dword [esp + 0x70], ebp
mov edi, dword [esp + 0x74]
adc edi, ebx
mov dword [esp + 0x1f8], edi
xor edx, edi
mov dword [esp + 0x24], edx
xor esi, ebp
mov dword [esp + 0x20], esi
shl esi, 8
shl edx, 8
mov edi, dword [esp + 0x24]
shr edi, 0x18
mov ebp, dword [esp + 0x20]
shr ebp, 0x18
or edi, esi
or edx, ebp
cmp ecx, 0x10
jae 0x4b82f1
mov dword [esp + 0x50], ebx
mov dword [esp + 0x1f4], edi
mov dword [esp + 0x1f0], edx
lea ebp, [esp + ecx*8 + 0x88]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
mov ebx, dword [esp + 0x218]
lea edi, [0x594e60]
movzx ecx, byte [edi + ebx + 4]
nop
mov edx, dword [esp + 0x38]
add esi, edx
mov edx, dword [esp + 0x3c]
adc ebp, edx
mov edx, dword [esp + 0x18]
add esi, edx
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x1c]
adc ebp, ebx
mov dword [esp + 0x1ec], ebp
mov edi, dword [esp + 0x4c]
xor edi, ebp
mov dword [esp + 0x4c], edi
mov ebp, dword [esp + 0x48]
xor ebp, esi
mov esi, dword [esp + 0x68]
add esi, edi
mov dword [esp + 0x68], esi
mov edi, dword [esp + 0x6c]
adc edi, ebp
mov dword [esp + 0x1e8], edi
xor ebx, edi
mov dword [esp + 0x1c], ebx
xor edx, esi
mov dword [esp + 0x18], edx
shl edx, 8
shl ebx, 8
mov edi, dword [esp + 0x1c]
shr edi, 0x18
mov esi, dword [esp + 0x18]
shr esi, 0x18
or edi, edx
or ebx, esi
cmp ecx, 0x10
jae 0x4b82e5
mov dword [esp + 0x48], ebp
mov dword [esp + 0x1e4], edi
mov dword [esp + 0x1e0], ebx
lea edx, [esp + ecx*8 + 0x88]
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0x218]
lea edi, [0x594e60]
movzx ecx, byte [edi + ebp + 5]
nop
nop
mov ebx, dword [esp + 0x80]
add esi, ebx
adc edx, eax
mov ebx, dword [esp + 0x210]
add esi, ebx
mov dword [esp + 0x80], esi
mov eax, ebp
mov ebp, dword [esp + 0x21c]
adc edx, ebp
mov dword [esp + 0x1dc], edx
mov edi, dword [esp + 0x60]
xor edi, edx
mov dword [esp + 0x21c], edi
mov edx, dword [esp + 0x64]
xor edx, esi
mov dword [esp + 0x60], edx
shl edx, 0x10
shr edi, 0x10
or edi, edx
mov edx, dword [esp + 0x60]
shr edx, 0x10
mov esi, dword [esp + 0x21c]
shl esi, 0x10
or esi, edx
mov dword [esp + 0x21c], esi
mov edx, dword [esp + 0x10]
add edx, esi
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x214]
adc esi, edi
mov dword [esp + 0x214], esi
xor ebp, esi
mov dword [esp + 0x34], ebp
xor ebx, edx
mov dword [esp + 0x30], ebx
shl ebp, 1
shl ebx, 1
mov esi, dword [esp + 0x30]
shr esi, 0x1f
mov edx, dword [esp + 0x34]
shr edx, 0x1f
or esi, ebp
or edx, ebx
cmp ecx, 0x10
jae 0x4b82d9
mov dword [esp + 0x210], edx
mov dword [esp + 0x1d8], edi
mov dword [esp + 0x1d4], esi
lea ebx, [esp + ecx*8 + 0x88]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x594e60]
movzx ecx, byte [esi + eax + 6]
nop
nop
mov edx, dword [esp + 0x78]
add ebp, edx
mov edx, dword [esp + 0x20c]
adc ebx, edx
mov edx, dword [esp + 0x200]
add ebp, edx
mov dword [esp + 0x78], ebp
mov edi, dword [esp + 0x204]
adc ebx, edi
mov dword [esp + 0x20c], ebx
mov esi, dword [esp + 0x58]
xor esi, ebx
mov dword [esp + 0x204], esi
mov ebx, dword [esp + 0x5c]
xor ebx, ebp
mov dword [esp + 0x58], ebx
shl ebx, 0x10
shr esi, 0x10
or esi, ebx
mov ebx, dword [esp + 0x58]
shr ebx, 0x10
mov ebp, dword [esp + 0x204]
shl ebp, 0x10
or ebp, ebx
mov dword [esp + 0x204], ebp
mov ebx, dword [esp + 8]
add ebx, ebp
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x208]
adc ebp, esi
mov dword [esp + 0x208], ebp
xor edi, ebp
mov dword [esp + 0x2c], edi
xor edx, ebx
mov dword [esp + 0x28], edx
shl edi, 1
shl edx, 1
mov ebp, dword [esp + 0x28]
shr ebp, 0x1f
mov ebx, dword [esp + 0x2c]
shr ebx, 0x1f
or ebp, edi
or ebx, edx
cmp ecx, 0x10
jae 0x4b82cd
mov dword [esp + 0x200], ebx
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1cc], ebp
lea edx, [esp + ecx*8 + 0x88]
mov edi, dword [edx]
mov edx, dword [edx + 4]
lea esi, [0x594e60]
movzx ecx, byte [esi + eax + 7]
nop
nop
mov ebp, dword [esp + 0x40]
add edi, ebp
mov ebp, dword [esp + 0x1fc]
adc edx, ebp
mov ebp, dword [esp + 0x1f0]
add edi, ebp
mov dword [esp + 0x40], edi
mov ebx, dword [esp + 0x1f4]
adc edx, ebx
mov dword [esp + 0x1fc], edx
mov esi, dword [esp + 0x50]
xor esi, edx
mov dword [esp + 0x1f4], esi
mov edx, dword [esp + 0x54]
xor edx, edi
mov dword [esp + 0x50], edx
shl edx, 0x10
shr esi, 0x10
or esi, edx
mov dword [esp + 0x1f0], esi
mov edx, dword [esp + 0x50]
shr edx, 0x10
mov edi, dword [esp + 0x1f4]
shl edi, 0x10
or edi, edx
mov dword [esp + 0x1f4], edi
mov edx, dword [esp + 0x70]
add edx, edi
mov edi, dword [esp + 0x1f8]
adc edi, esi
mov dword [esp + 0x1f8], edi
xor ebx, edi
mov dword [esp + 0x24], ebx
xor ebp, edx
mov dword [esp + 0x20], ebp
shl ebx, 1
shl ebp, 1
mov esi, dword [esp + 0x20]
shr esi, 0x1f
mov edi, dword [esp + 0x24]
shr edi, 0x1f
or esi, ebx
or edi, ebp
cmp ecx, 0x10
jae 0x4b82c1
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x70], edx
mov dword [esp + 0x1c4], esi
lea ebx, [esp + ecx*8 + 0x88]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x594e60]
movzx ecx, byte [esi + eax + 8]
nop
nop
mov edi, dword [esp + 0x38]
add ebp, edi
mov edi, dword [esp + 0x1ec]
adc ebx, edi
mov edi, dword [esp + 0x1e0]
add ebp, edi
mov dword [esp + 0x38], ebp
mov edx, dword [esp + 0x1e4]
adc ebx, edx
mov dword [esp + 0x1ec], ebx
mov esi, dword [esp + 0x48]
xor esi, ebx
mov dword [esp + 0x1e4], esi
mov ebx, dword [esp + 0x4c]
xor ebx, ebp
mov dword [esp + 0x48], ebx
shl ebx, 0x10
shr esi, 0x10
or esi, ebx
mov ebx, dword [esp + 0x48]
shr ebx, 0x10
mov ebp, dword [esp + 0x1e4]
shl ebp, 0x10
or ebp, ebx
mov dword [esp + 0x1e4], ebp
mov ebx, dword [esp + 0x68]
add ebx, ebp
mov dword [esp + 0x68], ebx
mov ebp, dword [esp + 0x1e8]
adc ebp, esi
mov dword [esp + 0x1e8], ebp
xor edx, ebp
mov dword [esp + 0x1c], edx
xor edi, ebx
mov dword [esp + 0x18], edi
shl edx, 1
shl edi, 1
mov ebp, dword [esp + 0x18]
shr ebp, 0x1f
mov ebx, dword [esp + 0x1c]
shr ebx, 0x1f
or ebp, edx
or ebx, edi
cmp ecx, 0x10
jae 0x4b82b5
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1c0], ebp
lea edx, [esp + ecx*8 + 0x88]
mov edi, dword [edx]
mov edx, dword [edx + 4]
lea ebp, [0x594e60]
movzx ecx, byte [ebp + eax + 9]
nop
mov ebx, dword [esp + 0x80]
add edi, ebx
mov ebx, dword [esp + 0x1dc]
adc edx, ebx
mov ebx, dword [esp + 0x200]
add edi, ebx
mov dword [esp + 0x80], edi
mov ebp, dword [esp + 0x1cc]
adc edx, ebp
mov dword [esp + 0x1dc], edx
xor esi, edx
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 0x1e4]
xor edx, edi
mov edi, dword [esp + 0x70]
add edi, esi
mov dword [esp + 0x70], edi
mov esi, dword [esp + 0x1f8]
adc esi, edx
mov dword [esp + 0x1f8], esi
xor ebp, esi
mov dword [esp + 0x2c], ebp
xor ebx, edi
mov dword [esp + 0x28], ebx
shl ebx, 8
shl ebp, 8
mov esi, dword [esp + 0x2c]
shr esi, 0x18
mov edi, dword [esp + 0x28]
shr edi, 0x18
or esi, ebx
or ebp, edi
cmp ecx, 0x10
jae 0x4b82a9
mov dword [esp + 0x200], esi
mov dword [esp + 0x48], edx
mov dword [esp + 0x1e4], ebp
lea ebx, [esp + ecx*8 + 0x88]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
lea edx, [0x594e60]
movzx ecx, byte [edx + eax + 0xa]
nop
mov esi, dword [esp + 0x78]
add edi, esi
mov esi, dword [esp + 0x20c]
adc ebx, esi
mov esi, dword [esp + 0x1c8]
add edi, esi
mov dword [esp + 0x78], edi
mov ebp, dword [esp + 0x1c4]
adc ebx, ebp
mov dword [esp + 0x20c], ebx
mov edx, dword [esp + 0x1d8]
xor edx, ebx
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x21c]
xor ebx, edi
mov edi, dword [esp + 0x68]
add edi, edx
mov dword [esp + 0x68], edi
mov edx, dword [esp + 0x1e8]
adc edx, ebx
mov dword [esp + 0x1e8], edx
xor ebp, edx
mov dword [esp + 0x24], ebp
xor esi, edi
mov dword [esp + 0x20], esi
shl esi, 8
shl ebp, 8
mov edx, dword [esp + 0x24]
shr edx, 0x18
mov edi, dword [esp + 0x20]
shr edi, 0x18
or edx, esi
or ebp, edi
cmp ecx, 0x10
jae 0x4b829d
mov dword [esp + 0x21c], edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x1d8], ebp
lea esi, [esp + ecx*8 + 0x88]
mov edi, dword [esi]
mov esi, dword [esi + 4]
lea ebx, [0x594e60]
movzx ecx, byte [ebx + eax + 0xb]
nop
mov edx, dword [esp + 0x40]
add edi, edx
mov edx, dword [esp + 0x1fc]
adc esi, edx
mov edx, dword [esp + 0x1e0]
add edi, edx
mov dword [esp + 0x40], edi
mov ebp, dword [esp + 0x1c0]
adc esi, ebp
mov dword [esp + 0x1fc], esi
mov ebx, dword [esp + 0x1d0]
xor ebx, esi
mov dword [esp + 0x5c], ebx
mov esi, dword [esp + 0x204]
xor esi, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov dword [esp + 0x10], edi
mov ebx, dword [esp + 0x214]
adc ebx, esi
mov dword [esp + 0x214], ebx
xor ebp, ebx
mov dword [esp + 0x1c], ebp
xor edx, edi
mov dword [esp + 0x18], edx
shl edx, 8
shl ebp, 8
mov ebx, dword [esp + 0x1c]
shr ebx, 0x18
mov edi, dword [esp + 0x18]
shr edi, 0x18
or ebx, edx
or ebp, edi
cmp ecx, 0x10
jae 0x4b8291
mov dword [esp + 0x204], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x1e0], ebp
lea edx, [esp + ecx*8 + 0x88]
mov edi, dword [edx]
mov edx, dword [edx + 4]
lea esi, [0x594e60]
movzx ecx, byte [esi + eax + 0xc]
nop
mov ebx, dword [esp + 0x38]
add edi, ebx
mov ebx, dword [esp + 0x1ec]
adc edx, ebx
mov ebx, dword [esp + 0x210]
add edi, ebx
mov dword [esp + 0x38], edi
mov ebp, dword [esp + 0x1d4]
adc edx, ebp
mov dword [esp + 0x1ec], edx
mov esi, dword [esp + 0x1f0]
xor esi, edx
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0x1f4]
xor edx, edi
mov edi, dword [esp + 8]
add edi, esi
mov dword [esp + 8], edi
mov esi, dword [esp + 0x208]
adc esi, edx
mov dword [esp + 0x208], esi
xor ebp, esi
mov dword [esp + 0x34], ebp
xor ebx, edi
mov dword [esp + 0x30], ebx
shl ebx, 8
shl ebp, 8
mov esi, dword [esp + 0x34]
shr esi, 0x18
mov edi, dword [esp + 0x30]
shr edi, 0x18
or esi, ebx
or ebp, edi
cmp ecx, 0x10
jae 0x4b8285
mov dword [esp + 0x210], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x1f4], ebp
lea ebx, [esp + ecx*8 + 0x88]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
lea edx, [0x594e60]
movzx ecx, byte [edx + eax + 0xd]
nop
nop
mov esi, dword [esp + 0x80]
add edi, esi
mov esi, dword [esp + 0x1dc]
adc ebx, esi
mov esi, dword [esp + 0x1e4]
add edi, esi
mov dword [esp + 0x80], edi
mov ebp, dword [esp + 0x200]
adc ebx, ebp
mov dword [esp + 0x1dc], ebx
mov edx, dword [esp + 0x48]
xor edx, ebx
mov dword [esp + 0x200], edx
mov ebx, dword [esp + 0x4c]
xor ebx, edi
mov dword [esp + 0x48], ebx
shl ebx, 0x10
shr edx, 0x10
or edx, ebx
mov dword [esp + 0x1f0], edx
mov ebx, dword [esp + 0x48]
shr ebx, 0x10
mov edi, dword [esp + 0x200]
shl edi, 0x10
or edi, ebx
mov dword [esp + 0x200], edi
mov ebx, dword [esp + 0x70]
add ebx, edi
mov dword [esp + 0x70], ebx
mov edi, dword [esp + 0x1f8]
adc edi, edx
xor ebp, edi
mov dword [esp + 0x2c], ebp
xor esi, ebx
mov dword [esp + 0x28], esi
shl ebp, 1
shl esi, 1
mov edx, dword [esp + 0x28]
shr edx, 0x1f
mov ebx, dword [esp + 0x2c]
shr ebx, 0x1f
or ebp, edx
or ebx, esi
cmp ecx, 0x10
jae 0x4b8279
mov dword [esp + 0x1e4], ebx
mov dword [esp + 0x1f8], edi
mov dword [esp + 0x1d4], ebp
lea edx, [esp + ecx*8 + 0x88]
mov esi, dword [edx]
mov edx, dword [edx + 4]
lea ebx, [0x594e60]
movzx ecx, byte [ebx + eax + 0xe]
nop
nop
mov ebp, dword [esp + 0x78]
add esi, ebp
mov ebp, dword [esp + 0x20c]
adc edx, ebp
mov ebp, dword [esp + 0x1d8]
add esi, ebp
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x21c]
adc edx, edi
mov dword [esp + 0x20c], edx
mov ebx, dword [esp + 0x60]
xor ebx, edx
mov dword [esp + 0x21c], ebx
mov edx, dword [esp + 0x64]
xor edx, esi
mov dword [esp + 0x60], edx
shl edx, 0x10
shr ebx, 0x10
or ebx, edx
mov dword [esp + 0x1d8], ebx
mov edx, dword [esp + 0x60]
shr edx, 0x10
mov esi, dword [esp + 0x21c]
shl esi, 0x10
or esi, edx
mov dword [esp + 0x21c], esi
mov edx, dword [esp + 0x68]
add edx, esi
mov dword [esp + 0x68], edx
mov esi, dword [esp + 0x1e8]
adc esi, ebx
xor edi, esi
mov dword [esp + 0x24], edi
xor ebp, edx
mov dword [esp + 0x20], ebp
shl edi, 1
shl ebp, 1
mov edx, dword [esp + 0x20]
shr edx, 0x1f
mov ebx, dword [esp + 0x24]
shr ebx, 0x1f
or edi, edx
or ebx, ebp
cmp ecx, 0x10
jae 0x4b826d
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x1d0], edi
lea edx, [esp + ecx*8 + 0x88]
mov ebp, dword [edx]
mov edx, dword [edx + 4]
mov ecx, ebx
lea ebx, [0x594e60]
movzx eax, byte [ebx + eax + 0xf]
nop
nop
mov ebx, dword [esp + 0x40]
add ebp, ebx
mov ebx, dword [esp + 0x1fc]
adc edx, ebx
mov ebx, dword [esp + 0x1e0]
add ebp, ebx
mov dword [esp + 0x40], ebp
mov esi, dword [esp + 0x204]
adc edx, esi
mov dword [esp + 0x1fc], edx
mov edi, dword [esp + 0x58]
xor edi, edx
mov dword [esp + 0x204], edi
mov edx, dword [esp + 0x5c]
xor edx, ebp
mov dword [esp + 0x58], edx
shl edx, 0x10
shr edi, 0x10
or edi, edx
mov edx, dword [esp + 0x58]
shr edx, 0x10
mov ebp, dword [esp + 0x204]
shl ebp, 0x10
or ebp, edx
mov dword [esp + 0x204], ebp
mov edx, dword [esp + 0x10]
add edx, ebp
mov dword [esp + 0x10], edx
mov ebp, dword [esp + 0x214]
adc ebp, edi
mov dword [esp + 0x214], ebp
xor esi, ebp
mov dword [esp + 0x1c], esi
xor ebx, edx
mov dword [esp + 0x18], ebx
shl esi, 1
shl ebx, 1
mov edx, dword [esp + 0x18]
shr edx, 0x1f
mov ebp, dword [esp + 0x1c]
shr ebp, 0x1f
or esi, edx
or ebp, ebx
cmp eax, 0x10
jb 0x4b749b
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ecx
mov ecx, 0x10
call fcn.0046c680
mov eax, ebx
mov ecx, 0x10
call fcn.0046c680
mov ecx, 0x10
call fcn.0046c680
mov eax, 7
mov ecx, ebx
call fcn.0046c680
mov eax, ebp
mov ecx, ebx
call fcn.0046c6e0
nop
call fcn.0046b200
jmp fcn.004b6fd0