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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x198]
cmp eax, dword [ecx + 8]
jbe 0x4b5e64
sub esp, 0x218
mov dword [esp + 0x244], 0
mov dword [esp + 0x248], 0
mov dword [esp + 0x24c], 0
mov dword [esp + 0x200], 0
mov dword [esp + 0x204], 0
lea edi, [esp]
lea esi, [esp + 0x21c]
call fcn.00475eee
call fcn.004b79c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ebx
mov dword [esp + 0x104], ecx
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], ebp
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ebx
mov ecx, dword [esp + 0x104]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x50], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x54], 0
mov dword [esp + 0x48], 0
jmp 0x4b3ea4
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x4b3eb4
jmp 0x4b5e1c
mov dword [esp + 0x200], 0
mov dword [esp + 0x204], 0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x240]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004beba0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ebx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x1f8], edx
mov dword [esp + 0x1fc], ebp
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov dword [esp + 0x210], ecx
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], ecx
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
mov eax, dword [esp + 0x13c]
test eax, eax
jne 0x4b3fca
jmp 0x4b40cf
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x1f4], eax
mov ebx, dword [esp + 0x13c]
add edx, ebx
mov dword [esp + 0xe8], edx
cmp eax, edx
jae 0x4b400a
jmp 0x4b4013
mov dword [esp + 0x1f0], edx
jmp 0x4b405b
mov ebx, dword [esp + 0x13c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x1f4], edx
jmp 0x4b405b
mov eax, dword [esp + 0x13c]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe8]
sub eax, dword [esp + 0x13c]
add eax, dword [esp + 0x1ec]
mov dword [esp + 0x1e8], eax
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x138]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1f4]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b40d1
jmp 0x4b40d1
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4b40db
jmp 0x4b40e0
jmp 0x4b5e1e
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], edx
mov ecx, dword [esp + 0x38]
test ecx, ecx
setl cl
mov byte [esp + 0x2f], cl
jl 0x4b410d
jmp 0x4b4120
mov ecx, dword [esp + 0x44]
test ecx, 0x100
setne cl
mov byte [esp + 0x2f], cl
jmp 0x4b4122
jmp 0x4b4122
movzx ecx, byte [esp + 0x2f]
test cl, cl
jne 0x4b412d
jmp 0x4b41a5
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.004c1740
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x104], ecx
mov dword [esp + 0xf8], edx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf0], eax
mov dword [esp + 0x120], ecx
mov dword [esp + 0x11c], edx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x114], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x3c], eax
inc eax
mov dword [esp + 0x3c], eax
jmp 0x4b41a7
jmp 0x4b41a7
mov ecx, dword [esp + 0x60]
test ecx, ecx
setl cl
mov byte [esp + 0x2f], cl
jl 0x4b41b8
jmp 0x4b41cb
mov ecx, dword [esp + 0x44]
test ecx, 0x200
setne cl
mov byte [esp + 0x2f], cl
jmp 0x4b41cd
jmp 0x4b41cd
movzx ecx, byte [esp + 0x2f]
test cl, cl
jne 0x4b41d8
jmp 0x4b4230
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004c1680
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x104], edx
mov dword [esp + 0x110], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x108], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], edx
jmp 0x4b4232
jmp 0x4b4232
mov ecx, dword [esp + 0x44]
and ecx, 0xffff
mov dword [esp + 0xe0], ecx
cmp ecx, 0x109
jle 0x4b4250
jmp 0x4b53a6
cmp ecx, 0x103
jle 0x4b425d
jmp 0x4b4ea7
cmp ecx, 0x23
jle 0x4b4267
jmp 0x4b4ba5
cmp ecx, 0x17
je 0x4b4271
jmp 0x4b4557
jmp 0x4b4273
mov ecx, dword [esp + 0x144]
test ecx, ecx
jne 0x4b4283
jmp 0x4b4385
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], eax
mov ebx, dword [esp + 0x144]
add edx, ebx
mov dword [esp + 0x80], edx
cmp eax, edx
jae 0x4b42c3
jmp 0x4b42cc
mov dword [esp + 0x158], edx
jmp 0x4b4314
mov ebx, dword [esp + 0x144]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edx
jmp 0x4b4314
mov eax, dword [esp + 0x144]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x144]
add eax, dword [esp + 0x154]
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x140]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
mov ecx, dword [esp + 0x4c]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
sar ecx, 0x1f
sub edx, ecx
mov dword [esp + 0x30], edx
test edx, edx
jl 0x4b43a4
jmp 0x4b441b
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0x234]
inc ebx
cmp ecx, ebx
jae 0x4b43c0
jmp 0x4b43c2
jmp 0x4b43f2
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x4b43f2
lea ebp, [ebx + edx - 1]
mov byte [ebp], 0x2d
mov dword [esp + 0x230], edx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x30]
neg ecx
mov dword [esp + 0x30], ecx
jmp 0x4b4488
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0x234]
inc ebx
cmp ecx, ebx
jae 0x4b4437
jmp 0x4b4439
jmp 0x4b4469
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x4b4469
lea ebp, [ebx + edx - 1]
mov byte [ebp], 0x2b
mov dword [esp + 0x230], edx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x238], ecx
jmp 0x4b4488
mov ecx, dword [esp + 0x30]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
sar ecx, 0x1f
sub edx, ecx
mov dword [esp + 0x78], edx
mov ecx, dword [esp + 0x230]
mov ebx, dword [esp + 0x234]
mov ebp, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.004b1900
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], ebx
mov ebp, dword [esp + 0x30]
mov eax, 0x88888889
mov esi, edx
imul ebp
add edx, ebp
sar edx, 5
mov edi, ebp
sar ebp, 0x1f
sub edx, ebp
imul edx, edx, 0x3c
sub edi, edx
mov dword [esp + 0x74], edi
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 2
call fcn.004b1900
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], ebx
jmp 0x4b5e15
cmp ecx, 0x18
jge 0x4b4561
jmp 0x4b4b0d
cmp ecx, 0x21
jle 0x4b456b
jmp 0x4b4b0b
jmp 0x4b456d
mov ecx, dword [esp + 0x4c]
test ecx, ecx
sete cl
mov byte [esp + 0x2f], cl
je 0x4b4581
jmp 0x4b4609
cmp dword [esp + 0x44], 0x18
sete cl
mov byte [esp + 0x2b], cl
je 0x4b4591
jmp 0x4b4593
jmp 0x4b45a1
cmp dword [esp + 0x44], 0x1b
sete cl
mov byte [esp + 0x2b], cl
jmp 0x4b45a1
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x2c], cl
test cl, cl
jne 0x4b45b0
jmp 0x4b45b2
jmp 0x4b45c0
cmp dword [esp + 0x44], 0x19
sete cl
mov byte [esp + 0x2c], cl
jmp 0x4b45c0
movzx ecx, byte [esp + 0x2c]
mov byte [esp + 0x2d], cl
test cl, cl
jne 0x4b45cf
jmp 0x4b45d1
jmp 0x4b45df
cmp dword [esp + 0x44], 0x1a
sete cl
mov byte [esp + 0x2d], cl
jmp 0x4b45df
movzx ecx, byte [esp + 0x2d]
mov byte [esp + 0x2e], cl
test cl, cl
jne 0x4b45ee
jmp 0x4b45f0
jmp 0x4b45fe
cmp dword [esp + 0x44], 0x1c
sete cl
mov byte [esp + 0x2e], cl
jmp 0x4b45fe
movzx ecx, byte [esp + 0x2e]
mov byte [esp + 0x2f], cl
jmp 0x4b460b
jmp 0x4b460b
movzx ecx, byte [esp + 0x2f]
test cl, cl
jne 0x4b4616
jmp 0x4b4685
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
inc edx
cmp eax, edx
jae 0x4b4632
jmp 0x4b4634
jmp 0x4b4664
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jmp 0x4b4664
lea ebx, [edx + ecx - 1]
mov byte [ebx], 0x5a
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], eax
jmp 0x4b5e15
mov ecx, dword [esp + 0x4c]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
sar ecx, 0x1f
sub edx, ecx
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
test edx, edx
jl 0x4b46af
jmp 0x4b4730
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0x234]
inc ebx
cmp ecx, ebx
jae 0x4b46cb
jmp 0x4b46cd
jmp 0x4b46fd
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x4b46fd
lea ebp, [ebx + edx - 1]
mov byte [ebp], 0x2d
mov dword [esp + 0x230], edx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x34]
neg ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x68]
neg ecx
mov dword [esp + 0x68], ecx
jmp 0x4b479d
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0x234]
inc ebx
cmp ecx, ebx
jae 0x4b474c
jmp 0x4b474e
jmp 0x4b477e
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x4b477e
lea ebp, [ebx + edx - 1]
mov byte [ebp], 0x2b
mov dword [esp + 0x230], edx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x238], ecx
jmp 0x4b479d
mov ecx, dword [esp + 0x34]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
sar ecx, 0x1f
sub edx, ecx
mov dword [esp + 0x94], edx
mov ecx, dword [esp + 0x230]
mov ebx, dword [esp + 0x234]
mov ebp, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.004b1900
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], ebx
cmp dword [esp + 0x44], 0x1b
sete cl
mov byte [esp + 0x2c], cl
je 0x4b481b
jmp 0x4b481d
jmp 0x4b482b
cmp dword [esp + 0x44], 0x20
sete cl
mov byte [esp + 0x2c], cl
jmp 0x4b482b
movzx ecx, byte [esp + 0x2c]
mov byte [esp + 0x2b], cl
test cl, cl
jne 0x4b483a
jmp 0x4b483c
jmp 0x4b484a
cmp dword [esp + 0x44], 0x1c
sete cl
mov byte [esp + 0x2b], cl
jmp 0x4b484a
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x2f], cl
test cl, cl
jne 0x4b4859
jmp 0x4b485b
jmp 0x4b4869
cmp dword [esp + 0x44], 0x21
sete cl
mov byte [esp + 0x2f], cl
jmp 0x4b4869
movzx ecx, byte [esp + 0x2f]
test cl, cl
jne 0x4b4874
jmp 0x4b48e1
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0x234]
inc ebx
cmp ecx, ebx
jae 0x4b4890
jmp 0x4b4892
jmp 0x4b48c2
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x4b48c2
lea ebp, [ebx + edx - 1]
mov byte [ebp], 0x3a
mov dword [esp + 0x230], edx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x238], ecx
jmp 0x4b48e3
jmp 0x4b48e3
cmp dword [esp + 0x44], 0x1f
setne cl
mov byte [esp + 0x2c], cl
jne 0x4b48f3
jmp 0x4b4901
cmp dword [esp + 0x44], 0x1a
setne cl
mov byte [esp + 0x2c], cl
jmp 0x4b4903
jmp 0x4b4903
movzx ecx, byte [esp + 0x2c]
test cl, cl
jne 0x4b490e
jmp 0x4b4985
mov ecx, dword [esp + 0x34]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3c
sub ebx, ecx
mov dword [esp + 0x88], ebx
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebp, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.004b1900
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], ebx
jmp 0x4b4987
jmp 0x4b4987
cmp dword [esp + 0x44], 0x19
sete cl
mov byte [esp + 0x2f], cl
je 0x4b4997
jmp 0x4b4999
jmp 0x4b49a7
cmp dword [esp + 0x44], 0x1e
sete cl
mov byte [esp + 0x2f], cl
jmp 0x4b49a7
movzx ecx, byte [esp + 0x2f]
mov byte [esp + 0x2b], cl
test cl, cl
jne 0x4b49b6
jmp 0x4b49b8
jmp 0x4b49c6
cmp dword [esp + 0x44], 0x21
sete cl
mov byte [esp + 0x2b], cl
jmp 0x4b49c6
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0x2c], cl
test cl, cl
jne 0x4b49d5
jmp 0x4b49d7
jmp 0x4b49e5
cmp dword [esp + 0x44], 0x1c
sete cl
mov byte [esp + 0x2c], cl
jmp 0x4b49e5
movzx ecx, byte [esp + 0x2c]
test cl, cl
jne 0x4b49f3
jmp 0x4b4b04
cmp dword [esp + 0x44], 0x21
sete cl
mov byte [esp + 0x2f], cl
je 0x4b4a03
jmp 0x4b4a05
jmp 0x4b4a13
cmp dword [esp + 0x44], 0x1c
sete cl
mov byte [esp + 0x2f], cl
jmp 0x4b4a13
movzx ecx, byte [esp + 0x2f]
test cl, cl
jne 0x4b4a1e
jmp 0x4b4a8b
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0x234]
inc ebx
cmp ecx, ebx
jae 0x4b4a3a
jmp 0x4b4a3c
jmp 0x4b4a6c
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x4b4a6c
lea ebp, [ebx + edx - 1]
mov byte [ebp], 0x3a
mov dword [esp + 0x230], edx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x238], ecx
jmp 0x4b4a8d
jmp 0x4b4a8d
mov ecx, dword [esp + 0x68]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3c
sub ebx, ecx
mov dword [esp + 0x84], ebx
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebp, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.004b1900
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], ebx
jmp 0x4b4b06
jmp 0x4b4b06
jmp 0x4b5e15
jmp 0x4b4b0f
jmp 0x4b4b0f
cmp ecx, 0x22
jge 0x4b4b19
jmp 0x4b4b9a
cmp ecx, 0x23
jle 0x4b4b20
jmp 0x4b4b98
jmp 0x4b4b22
lea edi, [esp]
lea esi, [esp + 0x21c]
call fcn.00475eee
call fcn.004b7e00
mov eax, dword [esp + 0x14]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0x234]
mov ebp, dword [esp + 0x238]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004b2140
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
jmp 0x4b4b9c
jmp 0x4b4b9c
jmp 0x4b4b9e
jmp 0x4b4ba0
jmp 0x4b4ea2
cmp ecx, 0x101
je 0x4b4bb2
jmp 0x4b4cde
jmp 0x4b4bb4
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004b73e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x1d4], eax
mov ebx, dword [esp + 0x14c]
add edx, ebx
mov dword [esp + 0xd0], edx
cmp eax, edx
jae 0x4b4c16
jmp 0x4b4c1f
mov dword [esp + 0x1d0], edx
jmp 0x4b4c67
mov ebx, dword [esp + 0x14c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], edx
jmp 0x4b4c67
mov eax, dword [esp + 0x14c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xd0]
sub eax, dword [esp + 0x14c]
add eax, dword [esp + 0x1cc]
mov dword [esp + 0x1c8], eax
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x148]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1d4]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x102
je 0x4b4ceb
jmp 0x4b4e35
jmp 0x4b4ced
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004b73e0
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], edx
cmp edx, 3
jae 0x4b4d19
jmp 0x4b5e59
jmp 0x4b4d1b
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], 3
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], eax
mov ebx, dword [esp + 0x204]
add edx, ebx
mov dword [esp + 0xd8], edx
cmp eax, edx
jae 0x4b4d6d
jmp 0x4b4d76
mov dword [esp + 0x1e0], edx
jmp 0x4b4dbe
mov ebx, dword [esp + 0x204]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], edx
jmp 0x4b4dbe
mov eax, dword [esp + 0x204]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xd8]
sub eax, dword [esp + 0x204]
add eax, dword [esp + 0x1dc]
mov dword [esp + 0x1d8], eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x200]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x103
je 0x4b4e3f
jmp 0x4b4e9c
jmp 0x4b4e41
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x238]
mov ebx, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
jmp 0x4b4e9e
jmp 0x4b4ea0
jmp 0x4b4ea2
jmp 0x4b53a1
cmp ecx, 0x106
jle 0x4b4eb4
jmp 0x4b51ea
cmp ecx, 0x104
je 0x4b4ebe
jmp 0x4b4f1b
jmp 0x4b4ec0
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x238]
mov ebx, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x105
je 0x4b4f28
jmp 0x4b506f
jmp 0x4b4f2a
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004b7d80
mov eax, dword [esp + 8]
mov dword [esp + 0xec], eax
mov dword [esp], eax
call fcn.004b7550
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x1b0], edx
mov dword [esp + 0x1b4], eax
mov ebx, dword [esp + 0x134]
add edx, ebx
mov dword [esp + 0xc0], edx
cmp eax, edx
jae 0x4b4fa7
jmp 0x4b4fb0
mov dword [esp + 0x1b0], edx
jmp 0x4b4ff8
mov ebx, dword [esp + 0x134]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1b4], edx
jmp 0x4b4ff8
mov eax, dword [esp + 0x134]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc0]
sub eax, dword [esp + 0x134]
add eax, dword [esp + 0x1ac]
mov dword [esp + 0x1a0], eax
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x130]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x106
je 0x4b507c
jmp 0x4b51e1
jmp 0x4b507e
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004b7d80
mov eax, dword [esp + 8]
mov dword [esp + 0xec], eax
mov dword [esp], eax
call fcn.004b7550
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], edx
cmp edx, 3
jae 0x4b50c5
jmp 0x4b5e4f
jmp 0x4b50c7
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], 3
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], edx
mov dword [esp + 0x1c4], eax
mov ebx, dword [esp + 0x1fc]
add edx, ebx
mov dword [esp + 0xc8], edx
cmp eax, edx
jae 0x4b5119
jmp 0x4b5122
mov dword [esp + 0x1c0], edx
jmp 0x4b516a
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], edx
jmp 0x4b516a
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0x1fc]
add eax, dword [esp + 0x1bc]
mov dword [esp + 0x1b8], eax
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x1f8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
jmp 0x4b51e3
jmp 0x4b51e5
jmp 0x4b539f
cmp ecx, 0x107
je 0x4b51f4
jmp 0x4b5251
jmp 0x4b51f6
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x108
je 0x4b525e
jmp 0x4b5332
jmp 0x4b5260
cmp dword [esp + 0x64], 0xa
jl 0x4b5269
jmp 0x4b52d5
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
inc edx
cmp eax, edx
jae 0x4b5285
jmp 0x4b5287
jmp 0x4b52b7
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jmp 0x4b52b7
lea ebx, [edx + ecx - 1]
mov byte [ebx], 0x20
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], eax
jmp 0x4b52d7
jmp 0x4b52d7
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x109
je 0x4b533c
jmp 0x4b5399
jmp 0x4b533e
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
jmp 0x4b539b
jmp 0x4b539d
jmp 0x4b539f
jmp 0x4b53a1
jmp 0x4b5e13
cmp ecx, 0x20d
jle 0x4b53b3
jmp 0x4b578d
cmp ecx, 0x113
jle 0x4b53c0
jmp 0x4b55dd
cmp ecx, 0x10a
je 0x4b53cd
jmp 0x4b5506
jmp 0x4b53cf
cmp dword [esp + 0x3c], 0x64
jl 0x4b53db
jmp 0x4b54a9
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
inc edx
cmp eax, edx
jae 0x4b53f7
jmp 0x4b53f9
jmp 0x4b5429
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jmp 0x4b5429
lea ebx, [edx + ecx - 1]
mov byte [ebx], 0x20
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], eax
cmp dword [esp + 0x3c], 0xa
jl 0x4b544e
jmp 0x4b54a5
inc edx
cmp eax, edx
jae 0x4b5455
jmp 0x4b5457
jmp 0x4b5487
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jmp 0x4b5487
lea ebx, [edx + ecx - 1]
mov byte [ebx], 0x20
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], eax
jmp 0x4b54a7
jmp 0x4b54a7
jmp 0x4b54ab
jmp 0x4b54ab
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x10b
je 0x4b5510
jmp 0x4b556d
jmp 0x4b5512
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x113
je 0x4b5577
jmp 0x4b55d4
jmp 0x4b5579
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
jmp 0x4b55d6
jmp 0x4b55d8
jmp 0x4b5788
cmp ecx, 0x114
je 0x4b55ea
jmp 0x4b567c
jmp 0x4b55ec
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x40], ecx
test ecx, ecx
jl 0x4b55fa
jmp 0x4b5602
neg ecx
mov dword [esp + 0x40], ecx
jmp 0x4b5604
jmp 0x4b5604
mov ecx, dword [esp + 0x40]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x64
sub ebx, ecx
mov dword [esp + 0xdc], ebx
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebp, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.004b1900
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], ebx
jmp 0x4b5e15
cmp ecx, 0x20c
je 0x4b5686
jmp 0x4b56e3
jmp 0x4b5688
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x20d
je 0x4b56f0
jmp 0x4b5782
jmp 0x4b56f2
mov ecx, dword [esp + 0x60]
mov eax, 0xaaaaaaab
imul ecx
add edx, ecx
sar edx, 3
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + edx*2]
shl ecx, 2
sub ebx, ecx
mov dword [esp + 0x5c], ebx
test ebx, ebx
je 0x4b571b
jmp 0x4b5725
mov dword [esp + 0x5c], 0xc
jmp 0x4b5727
jmp 0x4b5727
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
jmp 0x4b5784
jmp 0x4b5786
jmp 0x4b5788
jmp 0x4b5e11
cmp ecx, 0x210
jle 0x4b579a
jmp 0x4b5910
cmp ecx, 0x20e
je 0x4b57a7
jmp 0x4b5839
jmp 0x4b57a9
mov ecx, dword [esp + 0x60]
mov eax, 0xaaaaaaab
imul ecx
add edx, ecx
sar edx, 3
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + edx*2]
shl ecx, 2
sub ebx, ecx
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x4b57d2
jmp 0x4b57dc
mov dword [esp + 0x58], 0xc
jmp 0x4b57de
jmp 0x4b57de
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x20f
je 0x4b5843
jmp 0x4b58a0
jmp 0x4b5845
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x210
je 0x4b58aa
jmp 0x4b5907
jmp 0x4b58ac
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
jmp 0x4b5909
jmp 0x4b590b
jmp 0x4b5e0f
cmp ecx, 0x212
jle 0x4b591d
jmp 0x4b59f2
cmp ecx, 0x211
je 0x4b5927
jmp 0x4b5984
jmp 0x4b5929
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
cmp ecx, 0x212
je 0x4b598e
jmp 0x4b59eb
jmp 0x4b5990
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ebx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004b1900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e15
jmp 0x4b59ed
jmp 0x4b5e0d
cmp ecx, 0x215
je 0x4b59ff
jmp 0x4b5bff
jmp 0x4b5a01
cmp dword [esp + 0x60], 0xc
jge 0x4b5a0d
jmp 0x4b5b05
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
lea ebx, [edx + 2]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], eax
mov dword [esp + 0xb8], ebx
cmp eax, ebx
jae 0x4b5a47
jmp 0x4b5a50
mov dword [esp + 0x198], ebx
jmp 0x4b5a95
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], edx
jmp 0x4b5a95
mov dword [esp + 0xb4], 2
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x194]
lea eax, [eax + ecx - 2]
mov dword [esp + 0x190], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp], eax
lea eax, [0x526ad6]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x19c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5bfa
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
lea ebx, [edx + 2]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], edx
mov dword [esp + 0x18c], eax
mov dword [esp + 0xb0], ebx
cmp eax, ebx
jae 0x4b5b3f
jmp 0x4b5b48
mov dword [esp + 0x188], ebx
jmp 0x4b5b8d
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], edx
jmp 0x4b5b8d
mov dword [esp + 0xac], 2
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x184]
lea eax, [eax + ecx - 2]
mov dword [esp + 0x180], eax
mov ecx, dword [esp + 0xac]
mov dword [esp], eax
lea eax, [0x526ad8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x18c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5bfa
jmp 0x4b5e15
cmp ecx, 0x216
je 0x4b5c0c
jmp 0x4b5e09
jmp 0x4b5c0e
cmp dword [esp + 0x60], 0xc
jge 0x4b5c1a
jmp 0x4b5d12
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
lea ebx, [edx + 2]
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], eax
mov dword [esp + 0xa4], ebx
cmp eax, ebx
jae 0x4b5c54
jmp 0x4b5c5d
mov dword [esp + 0x178], ebx
jmp 0x4b5ca2
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], edx
jmp 0x4b5ca2
mov dword [esp + 0xa0], 2
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x174]
lea eax, [eax + ecx - 2]
mov dword [esp + 0x170], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp], eax
lea eax, [0x526ada]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e07
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
lea ebx, [edx + 2]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], edx
mov dword [esp + 0x16c], eax
mov dword [esp + 0x9c], ebx
cmp eax, ebx
jae 0x4b5d4c
jmp 0x4b5d55
mov dword [esp + 0x168], ebx
jmp 0x4b5d9a
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], edx
jmp 0x4b5d9a
mov dword [esp + 0x98], 2
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x164]
lea eax, [eax + ecx - 2]
mov dword [esp + 0x160], eax
mov ecx, dword [esp + 0x98]
mov dword [esp], eax
lea eax, [0x526adc]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x16c]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], edx
jmp 0x4b5e07
jmp 0x4b5e15
jmp 0x4b5e0b
jmp 0x4b5e0d
jmp 0x4b5e0f
jmp 0x4b5e11
jmp 0x4b5e13
jmp 0x4b5e15
jmp 0x4b5e17
jmp 0x4b3ea4
jmp 0x4b5e1e
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x238]
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], ecx
mov dword [esp + 0x24c], edx
add esp, 0x218
ret
mov ecx, 3
call fcn.00475850
mov ecx, 3
call fcn.00475850
nop
call fcn.004743b0
jmp fcn.004b3d60