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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x7c]
cmp eax, 0x3d
je 0x6335c3
cmp eax, 0x3e
jne 0x63364b
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
movzx eax, word [esi]
cmp eax, 0x5046
jne 0x6336b4
test cl, 0xf
jne 0x63358e
movzx eax, byte [esi + 3]
sub ecx, eax
mov edx, ecx
movzx eax, byte [esi + 2]
mov ecx, eax
and ecx, 0x1f
mov ebx, 0x7d4
cmp ecx, 4
ja case.default.0x6335ad
lea edi, [esi + 4]
add edx, 0xfffffffc
jmp dword [ecx*4 + 0x7e2108]
mov dword [esp + 0x64], edi
mov dword [esp + 0x5c], edx
mov ebx, edi
jmp 0x633904
cmp dword [ebx], ecx
jbe 0x634254
mov edx, dword [ebx + 8]
mov esi, ecx
shl esi, 6
mov edi, dword [edx + esi + 0x10]
test edi, edi
je 0x63376e
mov ebp, edx
mov dword [esp + 0x38], esi
mov esi, 0xffffffff
jmp 0x6335fb
mov dword [esp], edi
call fcn.004936c0
mov ebp, dword [ebx + 8]
add esi, 1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], edx
mov byte [esp + 0x40], dl
jb 0x6335f0
mov byte [esp + 0x2c], dh
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov esi, dword [esp + 0x4c]
mov edx, 5
mov eax, dword [esp + 0x38]
mov eax, dword [ebp + eax + 0x18]
test eax, eax
je 0x63381e
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [ebx + 8]
mov edx, esi
jmp 0x633e79
mov edx, 0xb624e0
mov eax, 0xb624e0
xor al, 0xcc
movzx eax, al
mov edi, dword [ebx]
mov ecx, dword [ebx + 4]
lea esi, [edi + 1]
cmp esi, ecx
jbe 0x63374c
cmp eax, 0x2c
je 0x633672
cmp eax, 0x45
test ecx, ecx
lea eax, [ecx + ecx]
mov edi, 1
cmovne edi, eax
mov eax, edi
shl eax, 6
mov ecx, dword [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov ecx, 0xc
test eax, eax
je 0x633817
lea ecx, [ebx + 8]
mov dword [esp + 0x50], ecx
mov dword [ebx + 8], eax
mov dword [ebx + 4], edi
mov edi, dword [ebx]
jmp 0x6337d8
mov ebx, 0x7d3
movzx eax, ax
cmp eax, 0x5047
jne case.default.0x6335ad
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp], 0xf
mov edi, ecx
call fcn.006265c0
mov ecx, edi
mov ebx, eax
test ebx, ebx
jne case.default.0x6335ad
mov dword [ebp], 0
mov eax, dword [esp + 0x54]
add ecx, 0xfffffffe
add esi, 2
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.006238a0
mov ebx, eax
test ebx, ebx
jne case.default.0x6335ad
mov eax, dword [ebp]
xor ebx, ebx
cmp dword [eax], 0
je 0x633e09
mov ecx, 8
xor edx, edx
nop dword [eax]
mov eax, dword [eax + 8]
mov esi, dword [eax + ecx - 4]
mov dword [eax + ecx], esi
inc edx
mov eax, dword [ebp]
mov esi, dword [eax]
add ecx, 0x40
cmp edx, esi
jb 0x633730
jmp 0x633e0b
add eax, edx
add al, 0x3d
mov ecx, 0xffffffff
movzx eax, al
cmp eax, 0x39
je 0x6337a0
cmp eax, 0x49
jne 0x6337ba
lea eax, [ebx + 8]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 8]
jmp 0x6337d8
mov ecx, 0x12
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], eax
mov byte [esp + 0x28], al
mov byte [esp + 0x2c], al
mov byte [esp + 0x40], al
mov byte [esp + 0x1c], al
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], eax
jmp 0x6342d1
lea eax, [ebx + 8]
mov dword [esp + 0x50], eax
jmp 0x6337b3
mov eax, dword [ebx + 8]
add ecx, 1
jb 0x6337b0
jmp 0x6337d8
lea eax, [ebx + 8]
mov dword [esp + 0x50], eax
jmp 0x6337d3
mov eax, dword [ebx + 8]
add ecx, 1
jb 0x6337d0
mov ebp, dword [esp + 0x80]
mov esi, 0xffffffff
shl edi, 6
add edi, eax
jmp 0x633810
mov dword [esp], edi
mov dword [esp + 4], 0x40
call fcn.007cbac0
mov eax, dword [ebx]
shl eax, 6
mov ecx, dword [esp + 0x50]
add eax, dword [ecx]
mov dword [ebp], eax
inc dword [ebx]
xor ecx, ecx
add esi, 1
jb 0x6337f0
mov eax, ecx
jmp 0x633e50
mov dword [esp + 0x20], ebp
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
jmp 0x633e58
lea eax, [esp + 0x5c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call fcn.00635300
jmp 0x6338f0
lea eax, [esp + 0x5c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call fcn.00634410
jmp 0x6338f0
lea eax, [esp + 0x5c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call fcn.006353d0
jmp 0x6338f0
lea eax, [esp + 0x5c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call fcn.00635740
mov ebx, 0x7d5
test eax, eax
jne case.default.0x6335ad
mov ebx, dword [esp + 0x64]
mov al, byte [esi + 2]
test al, al
jns 0x633968
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x58]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call fcn.00635c80
mov dword [esp + 0x44], 0x7d5
test eax, eax
jne 0x633df5
mov eax, dword [esp + 0x64]
cmp eax, edi
je 0x633958
mov dword [esp], eax
call fcn.004936c0
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 4], 0xc
mov dword [esp], 1
call fcn.00493840
mov dword [esp + 0x38], eax
test eax, eax
je 0x633d7b
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx]
test dl, dl
js 0x633d85
mov esi, 1
add ecx, esi
mov dword [esp + 0x64], ecx
sub eax, esi
mov dword [esp + 0x5c], eax
inc edx
mov dword [esp + 0x24], edx
je 0x633d6a
xor eax, eax
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov eax, dword [edi + 4]
lea edx, [ecx + 1]
cmp edx, eax
jbe 0x633a1c
test eax, eax
lea esi, [eax + eax]
mov eax, 1
cmove esi, eax
mov eax, esi
shl eax, 6
mov ecx, dword [edi + 8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0x44], 0xc
test eax, eax
je 0x633de1
mov edi, dword [esp + 0x38]
mov dword [edi + 8], eax
mov dword [edi + 4], esi
mov ecx, dword [edi]
jmp 0x633a1f
mov eax, dword [edi + 8]
shl ecx, 6
add ecx, eax
mov dword [esp], ecx
mov dword [esp + 4], 0x40
call fcn.007cbac0
mov edx, dword [edi]
mov ebx, dword [edi + 8]
lea eax, [edx + 1]
mov dword [edi], eax
shl edx, 6
lea eax, [ebx + edx]
mov esi, dword [esp + 0x64]
movzx ecx, byte [esi]
test cl, cl
js 0x633a5b
mov dword [eax], ecx
mov ecx, 1
jmp 0x633aec
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x5c]
cmp edi, 1
sbb ebx, ebx
test cl, 0x7f
mov dword [esp + 0x44], 0x54
je 0x633de1
or ebx, edi
and ecx, 0x7f
cmp ecx, ebx
ja 0x633de1
movzx edi, byte [esi + 1]
mov dword [eax], edi
movzx ebp, cl
mov ebx, 2
cmp ebp, 2
jb 0x633ab2
nop dword [eax]
shl edi, 8
mov dword [eax], edi
movzx ebp, byte [esi + ebx]
or edi, ebp
mov dword [eax], edi
inc ebx
cmp ebx, ecx
jbe 0x633aa0
mov ecx, 1
cmp edi, 0x80
mov ebx, dword [esp + 0x50]
jb 0x633aec
mov ecx, 2
cmp edi, 0x100
jb 0x633aec
mov ecx, 3
cmp edi, 0x10000
jb 0x633aec
cmp edi, 0xffffff
seta cl
movzx ecx, cl
or ecx, 4
add dword [esp + 0x64], ecx
sub dword [esp + 0x5c], ecx
mov ecx, dword [eax]
mov edi, dword [esp + 0x2c]
lea edi, [edi + ecx + 1]
mov dword [eax], edi
mov ebp, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
movzx eax, byte [ecx]
test al, al
js 0x633b1d
mov dword [esp + 0x2c], edi
mov edi, 1
jmp 0x633bb6
cmp ebp, 1
sbb esi, esi
test al, 0x7f
mov dword [esp + 0x44], 0x54
je 0x633de1
mov dword [esp + 0x50], ebx
mov dword [esp + 0x2c], edi
or esi, ebp
and eax, 0x7f
cmp eax, esi
ja 0x633de1
movzx esi, byte [ecx + 1]
movzx ebx, al
mov edi, 2
cmp ebx, 2
jb 0x633b6e
nop dword [eax + eax]
shl esi, 8
movzx ebx, byte [ecx + edi]
or esi, ebx
inc edi
cmp edi, eax
jbe 0x633b60
mov edi, 1
cmp esi, 0x80
jae 0x633b83
mov eax, esi
mov ebx, dword [esp + 0x50]
jmp 0x633bb6
mov edi, 2
cmp esi, 0x100
mov ebx, dword [esp + 0x50]
jb 0x633bb4
mov edi, 3
cmp esi, 0x10000
jb 0x633bb4
cmp esi, 0xffffff
mov eax, ebx
seta bl
movzx edi, bl
mov ebx, eax
or edi, 4
mov eax, esi
add ecx, edi
mov dword [esp + 0x64], ecx
sub ebp, edi
mov dword [esp + 0x5c], ebp
mov edi, ebp
inc eax
mov dword [esp + 0x40], eax
je 0x633d4c
lea eax, [ebx + edx + 4]
mov dword [esp + 0x50], eax
lea eax, [ebx + edx + 8]
mov dword [esp + 0x4c], eax
lea eax, [ebx + edx + 0xc]
mov dword [esp + 0x48], eax
xor esi, esi
mov ebp, 0xffffffff
mov eax, edi
jmp 0x633c0c
mov dword [esp + 0x50], edi
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
movzx ebx, byte [ecx]
test bl, bl
js 0x633c1d
mov edi, 1
jmp 0x633cb2
cmp eax, 1
sbb edx, edx
test bl, 0x7f
mov dword [esp + 0x44], 0x54
je 0x633de1
or edx, eax
mov dword [esp + 0x3c], eax
and ebx, 0x7f
cmp ebx, edx
ja 0x633de1
movzx edx, byte [ecx + 1]
movzx eax, bl
mov edi, 2
cmp eax, 2
jb 0x633c6e
nop word cs:[eax + eax]
shl edx, 8
movzx eax, byte [ecx + edi]
or edx, eax
inc edi
cmp edi, ebx
jbe 0x633c60
mov edi, 1
cmp edx, 0x80
jb 0x633cac
mov edi, 2
cmp edx, 0x100
mov eax, dword [esp + 0x3c]
jae 0x633c90
mov ebx, edx
jmp 0x633cb2
mov edi, 3
cmp edx, 0x10000
jb 0x633cac
cmp edx, 0xffffff
seta al
movzx edi, al
or edi, 4
mov ebx, edx
mov eax, dword [esp + 0x3c]
add ecx, edi
mov dword [esp + 0x64], ecx
sub eax, edi
mov dword [esp + 0x5c], eax
mov edi, dword [esp + 0x50]
mov ecx, dword [edi]
lea edx, [ecx + 1]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
cmp edx, eax
jbe 0x633d30
mov dword [esp + 0x3c], ebp
mov ebp, esi
mov esi, edi
test eax, eax
lea edi, [eax + eax]
mov eax, 1
cmove edi, eax
lea eax, [edi*4]
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0x44], 0xc
test eax, eax
je 0x633de1
mov ecx, dword [esp + 0x48]
mov dword [ecx], eax
mov ecx, dword [esp + 0x4c]
mov dword [ecx], edi
mov edi, esi
mov ecx, dword [edi]
mov esi, ebp
mov ebp, dword [esp + 0x3c]
jmp 0x633d36
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
lea ebp, [ebp + ebx + 1]
mov dword [eax + ecx*4], ebp
inc dword [edi]
inc esi
mov eax, dword [esp + 0x40]
cmp esi, eax
jb 0x633c00
mov eax, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
jb 0x6339c5
mov eax, dword [esp + 0x38]
mov dword [ebp], eax
mov dword [esp + 0x44], 0
jmp 0x633df5
mov dword [esp + 0x44], 0xc
jmp 0x633df5
mov dword [esp + 0x34], edi
cmp eax, 1
sbb esi, esi
test dl, 0x7f
mov dword [esp + 0x44], 0x54
je 0x633de1
or esi, eax
and edx, 0x7f
cmp edx, esi
mov esi, edx
ja 0x633de1
movzx edx, byte [ecx + 1]
mov ebx, esi
movzx esi, bl
cmp esi, 2
jb 0x633dc7
mov esi, 2
shl edx, 8
movzx edi, byte [ecx + esi]
or edx, edi
inc esi
cmp esi, ebx
jbe 0x633db9
mov esi, 1
cmp edx, 0x80
mov ebx, dword [esp + 0x30]
jae 0x633e12
mov edi, dword [esp + 0x34]
jmp 0x6339a4
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0062ddc0
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
cmp ebx, edi
je 0x633e01
mov dword [esp], ebx
call fcn.004936c0
mov ebx, dword [esp + 0x44]
mov eax, ebx
jmp 0x633e50
xor esi, esi
mov dword [eax + 4], esi
mov eax, ebx
jmp 0x633e50
mov esi, 2
cmp edx, 0x100
mov edi, dword [esp + 0x34]
jb 0x6339a4
mov esi, 3
cmp edx, 0x10000
jb 0x6339a4
cmp edx, 0xffffff
seta bl
movzx esi, bl
mov ebx, dword [esp + 0x30]
or esi, 4
jmp 0x6339a4
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
cmp edx, 5
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
jne 0x634191
mov dword [esp + 0x4c], edx
mov cl, 0x1d
mov esi, dword [esp + 0x38]
mov edx, dword [eax + esi + 0x1c]
mov dword [esp + 0x3c], edx
test edx, edx
mov edx, ebp
je 0x633ed2
mov byte [esp + 0x28], 0x1d
mov dword [esp + 0x20], eax
mov esi, ebx
mov al, 0x69
mov ebx, 0xffffffff
movzx ecx, al
cmp ecx, 0x5a
je 0x633edf
mov eax, 0x13
cmp ecx, 0x69
je 0x633f18
mov eax, 0xb
cmp ecx, 0x73
jne 0x633f2b
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov ebx, esi
mov esi, dword [esp + 0x38]
jmp 0x634298
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
jmp 0x633f62
mov ebp, edx
mov eax, dword [esp + 0x20]
jmp 0x633f04
mov edi, 0xe
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esi + 8]
add ebx, 1
jb 0x633ef0
mov dword [esp + 0x24], eax
mov edx, ebp
mov ecx, dword [esp + 0x34]
jmp 0x633fde
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov ebx, esi
mov esi, dword [esp + 0x38]
jmp 0x63412b
mov edi, edx
mov eax, dword [esp + 0x20]
jmp 0x633f4f
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esi + 8]
add ebx, 1
jb 0x633f40
mov dword [esp + 0x24], eax
mov ebx, esi
mov esi, dword [esp + 0x38]
mov edx, edi
mov cl, 0x1d
mov edi, 0xb
movzx eax, cl
cmp eax, 0x1d
je 0x634069
mov ecx, 9
mov byte [esp + 0x28], 0x19
mov edi, dword [esp + 0x24]
mov eax, dword [edi + esi + 0x34]
test eax, eax
mov dword [esp + 0x34], edi
je 0x6343c5
mov dword [esp], eax
mov edi, edx
call fcn.004936c0
mov edx, edi
mov eax, dword [ebx + 8]
mov dword [esp + 0x34], eax
mov al, 0x23
mov ecx, dword [esp + 0x34]
mov ebp, dword [ecx + esi + 0x3c]
test ebp, ebp
je 0x634023
mov byte [esp + 0x2c], 0x23
mov dword [esp + 0x38], esi
mov esi, ebx
mov al, 0xc
mov ebx, 0xffffffff
movzx eax, al
cmp eax, 0xc
je 0x63400f
mov dword [esp + 0x48], ebp
mov edi, 0x19
cmp eax, 0x7a
jne 0x634036
mov dword [esp + 0x44], ecx
mov dword [esp + 0x34], ecx
mov ebp, edx
cmp edi, 0xe
mov ebx, esi
jne 0x6340a1
mov esi, dword [esp + 0x38]
mov edx, ebp
mov cl, byte [esp + 0x28]
jmp 0x633f62
mov dword [esp], ebp
mov edi, edx
call fcn.004936c0
mov edx, edi
mov ecx, dword [esi + 8]
add ebx, 1
jb 0x634000
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ebp
mov al, 0x23
jmp 0x6340bc
mov dword [esp + 0x48], ebp
mov dword [esp + 0x38], esi
mov esi, ebx
mov dword [esp + 0x44], ecx
jmp 0x6340bc
mov ebp, edx
jmp 0x634054
mov edi, 8
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004936c0
mov ecx, dword [esi + 8]
add ebx, 1
jb 0x634040
mov dword [esp + 0x44], ecx
mov ebx, esi
mov esi, dword [esp + 0x38]
mov edx, ebp
mov cl, byte [esp + 0x28]
cmp edi, 8
mov al, byte [esp + 0x2c]
jne 0x63407e
mov byte [esp + 0x28], cl
mov dword [esp + 0x38], esi
mov esi, ebx
jmp 0x6340bc
mov ecx, 0xb
mov byte [esp + 0x28], 0x1d
mov edi, dword [esp + 0x24]
mov eax, dword [edi + esi + 0x34]
test eax, eax
mov dword [esp + 0x34], edi
jne 0x633f91
jmp 0x63438f
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [ebx + 8]
mov dword [esp + 0x44], eax
mov esi, ebx
mov edx, ebp
mov al, byte [esp + 0x2c]
mov edi, 0xf
movzx ecx, al
cmp ecx, 0xd
je 0x6340eb
cmp ecx, 0x23
je 0x6340fc
mov byte [esp + 0x2c], al
mov eax, 0x15
cmp ecx, 0x49
mov ebx, esi
mov esi, dword [esp + 0x38]
jne 0x6343f4
jmp 0x634283
mov byte [esp + 0x2c], al
mov ebp, edx
mov ebx, esi
mov esi, dword [esp + 0x38]
jmp 0x6343e8
mov eax, 0xf
mov byte [esp + 0x2c], 0x49
mov byte [esp + 0x40], 0xd
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x44]
mov edi, dword [ebx + ecx + 0xc]
mov dword [esp + 0x30], edi
test edi, edi
mov dword [esp + 0x4c], ebx
mov ebx, esi
mov esi, ecx
je 0x634320
cmp eax, 0xf
je 0x6343ce
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov edi, edx
call fcn.004936c0
mov edx, edi
mov eax, dword [ebx + 8]
mov dword [esp + 0x24], eax
jmp 0x63428f
mov esi, 0xffffffff
jmp 0x634174
mov edi, 0x1d
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004936c0
mov edx, dword [ebx + 8]
add esi, 1
jb 0x634160
jmp 0x63424b
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004936c0
mov edx, dword [ebx + 8]
mov ecx, dword [ebx]
dec ecx
mov edi, dword [esp + 0x38]
lea eax, [edx + edi]
mov esi, dword [esp + 0x84]
cmp ecx, esi
jne 0x6341af
mov dword [esp + 0x4c], edx
jmp 0x634230
mov ecx, edi
mov dword [esp + 0x4c], edx
mov edi, esi
nop word [eax + eax]
inc edi
movsd xmm0, qword [edx + ecx + 0x78]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [edx + ecx + 0x70]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [edx + ecx + 0x68]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [edx + ecx + 0x60]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [edx + ecx + 0x58]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [edx + ecx + 0x50]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [edx + ecx + 0x40]
movsd xmm1, qword [edx + ecx + 0x48]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov esi, dword [ebx]
mov edx, dword [ebx + 8]
dec esi
mov eax, edi
shl eax, 6
add eax, edx
add ecx, 0x40
cmp edi, esi
jne 0x6341c0
add edx, ecx
mov eax, edx
mov edi, 0xd
mov dword [esp], eax
mov dword [esp + 4], 0x40
call fcn.007cbac0
dec dword [ebx]
mov edx, dword [esp + 0x4c]
cmp edi, 0xd
jne 0x634191
xor eax, eax
jmp 0x633e50
mov edi, 0x11
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [ebx + 8]
add esi, 1
jb 0x634260
mov dword [esp + 0x24], eax
mov esi, ebp
mov edx, dword [esp + 0x1c]
cmp edi, 0xf
jne 0x63428f
mov byte [esp + 0x2c], 0x3c
jmp 0x634303
mov cl, byte [esp + 0x28]
jmp 0x633f62
cmp eax, 0xb
jne 0x6342ae
mov dword [esp + 0x1c], edx
mov ebp, esi
mov esi, 0xffffffff
mov eax, dword [esp + 0x24]
jmp 0x634274
mov eax, dword [esp + 0x4c]
mov edi, dword [eax + esi + 0x14]
test edi, edi
mov eax, dword [esp + 0x48]
je 0x6342f6
mov ecx, 0xb
mov byte [esp + 0x40], 0xd
mov byte [esp + 0x1c], 0x1c
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], edi
mov edi, ebp
mov ebp, edx
mov dword [esp + 0x38], esi
cmp ecx, 0xb
mov ecx, edi
mov eax, dword [esp + 0x34]
mov dh, byte [esp + 0x2c]
jne 0x633614
jmp 0x63436e
mov dword [esp + 0x38], esi
mov edx, dword [esp + 0x4c]
jmp 0x634191
mov byte [esp + 0x40], 0xd
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + esi + 0xc]
mov dword [esp + 0x30], eax
test eax, eax
mov dword [esp + 0x4c], ecx
jne 0x6343ce
mov eax, 0x1b
mov cl, byte [esp + 0x40]
movzx ecx, cl
cmp ecx, 0x65
je 0x634298
mov ebp, edx
mov edx, 0x11
mov byte [esp + 0x40], 0x65
mov byte [esp + 0x1c], 0x1c
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + esi + 0x14]
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], esi
test eax, eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
je 0x633e58
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov ecx, 0x10
movzx eax, byte [esp + 0x1c]
cmp eax, 0x1c
je 0x634150
mov esi, dword [esp + 0x38]
mov edx, ebp
cmp ecx, 0xb
jne 0x63417e
jmp 0x633fa4
mov ecx, 0x12
mov eax, 0xa
mov byte [esp + 0x2c], 0xd
mov ebp, dword [esp + 0x44]
mov edi, dword [ebp + esi + 0xc]
mov dword [esp + 0x30], edi
test edi, edi
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x40], 0xd
je 0x6343f4
cmp ecx, 9
je 0x633fa4
mov ebp, edx
mov edi, 0x1c
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [ebx + 8]
mov dword [esp + 0x4c], eax
cmp edi, 0xf
mov edx, ebp
je 0x63439d
jmp 0x634320
cmp eax, 0xa
je 0x634320
mov byte [esp + 0x2c], 0x23
jmp 0x634303