Function at 0x10044ebd
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1006b0b6
call fcn.10069db0
sub esp, 0x1dc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x64]
push 4
call fcn.100333f7
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 0x5252cb13
mov dword [ebp - 0x24], 0xe3c23917
mov dword [ebp - 0x18], ebx
jmp 0x10044f05
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0x3342
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10044ef5
mov dword [ebp - 0x18], ebx
jmp 0x10044f1e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x54], 0xfe96f77d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10044f10
push 3
pop edi
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x1004514d
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], 0x5f27a412
or ecx, 0xffffffff
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x18], 0xe7aebb1b
mov dword [ebp - 0x24], ebx
jmp 0x10044f5c
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x3c], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 1
jl 0x10044f52
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
xor eax, eax
or edx, 0xffffffff
cmp ecx, edx
setne al
imul eax, eax, 0x2010
test eax, eax
je 0x10044f97
mov eax, dword [ebp - 0x64]
cmp dword [eax + 0xc], ebx
je 0x10044f97
xor eax, eax
inc eax
jmp 0x10044f99
mov eax, ebx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
je 0x10044fa4
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
add ecx, 0xffffd972
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
setne bl
neg ecx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp eax, ebx
setle cl
xor ebx, ebx
sub edx, ecx
inc edx
je 0x10044ff3
cmp dword [ebp - 0x30], ebx
je 0x10044ff3
xor eax, eax
inc eax
jmp 0x10044ff5
mov eax, ebx
cmp eax, dword [ebp - 0x3c]
je 0x10045003
cmp dword [ebp - 0x3c], ebx
jne 0x10045003
mov edx, ebx
jmp 0x10045006
xor edx, edx
inc edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
add eax, edx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
neg edx
sbb edx, edx
xor eax, eax
add edx, 0xa
cmp edx, dword [esi + 4]
setle al
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x54]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 8
ja 0x10045054
cmp dword [ebp - 0x54], ebx
jne 0x10045054
mov edx, ebx
jmp 0x10045057
xor edx, edx
inc edx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x64]
setle cl
xor edx, edx
cmp ecx, dword [eax]
setg dl
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x54]
imul eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], ebx
jl 0x10045144
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edi
jg 0x10045138
push 2
lea ecx, [ebp - 0x138]
call fcn.100333f7
mov dword [ebp - 0x1c], ebx
jmp 0x100450c2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x138]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100450af
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x18]
mov eax, dword [eax + ecx*4]
mov dword [esi + 4], eax
cmp dword [esi + 4], 0xd45c
mov eax, dword [ebp - 0x20]
setg dl
neg eax
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x64]
setl cl
xor edx, edx
cmp dword [eax + edi*4], ecx
lea ecx, [ebp - 0x138]
sete dl
add edx, dword [eax + ebx*4]
cmp edx, 0xffffffff
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
call fcn.10033479
inc dword [ebp - 0x18]
push 3
pop edi
push 0
pop ebx
cmp dword [ebp - 0x18], edi
jle 0x1004509d
dec dword [ebp - 0x24]
jns 0x10045083
mov esi, dword [ebp - 0x34]
dec dword [ebp - 0x14]
jns 0x10044f39
mov byte [ebp - 0x29], bl
or esi, 0xffffffff
cmp byte [ebp - 0x29], 0
je 0x1004516a
push ebx
push 0x263
push 0x1056
call dword [0x10617078]
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], esi
call fcn.10033479
lea eax, [ebp + 8]
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x168]
mov eax, 0xf825e7a6
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
push 4
call fcn.100333f7
mov dword [ebp - 4], 1
mov dword [ebp - 0x30], 0xa445a8cc
mov dword [ebp - 0x1c], ebx
jmp 0x100451cb
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x168]
mov dword [eax + ecx*4], 0xdce9d05b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100451b8
mov esi, dword [ebp - 0x168]
mov dword [esi + 0xc], ebx
mov dword [ebp - 0x14], 0x82ff40fc
mov dword [ebp - 0x20], 0x85fcb444
mov dword [ebp - 0x14], ebx
jmp 0x1004531c
mov dword [ebp - 0x24], 0x66e58d02
lea ecx, [ebp - 0xe8]
push 2
call fcn.100333f7
mov byte [ebp - 4], 2
mov dword [ebp - 0x1c], ebx
jmp 0x10045220
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], 0xc44d4e2b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1004520d
mov dword [ebp - 0x24], ebx
jmp 0x100452f5
mov dword [ebp - 0x18], 0xe135e1f6
lea ecx, [ebp - 0x1a4]
push 1
call fcn.100333f7
mov dword [ebp - 0x1c], ebx
jmp 0x1004525a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1a4]
mov dword [eax + ecx*4], 0x5aba9a9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10045247
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x100452e7
mov eax, dword [esi + 0xc]
mov ecx, 0x2bb2c593
mov dword [ebp - 0x20], 0xf13bcf59
mov eax, dword [ebp + eax*4 - 0x114]
mov eax, dword [ebp - 0x24]
sub ecx, eax
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, 0x20578cca
mov eax, dword [ebp - 0xe8]
setge cl
xor edx, edx
cmp ecx, 0xb9c2
setle dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xa4d9
setl al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp eax, 4
mov eax, dword [ebp - 0x1a4]
setle cl
mov dword [eax], ecx
dec dword [ebp - 0x18]
jns 0x10045268
lea ecx, [ebp - 0x1a4]
call fcn.10033479
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x1004522e
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 1
cmp dword [ebp + eax*4 - 0x114], ebx
jne 0x10045327
call fcn.10033479
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x100451f0
jmp 0x1004532c
call fcn.10033479
inc dword [esi + 0xc]
cmp dword [esi + 0xc], edi
jle 0x100451da
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.10033479
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0xd0]
push 1
mov dword [ebp - 0x58], eax
call fcn.100333f7
push edi
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], edi
call fcn.100333f7
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x20], 0xf0b1
mov dword [ebp - 0x20], 0xab3ae5d5
push 1
call fcn.100333f7
mov byte [ebp - 4], 5
mov dword [ebp - 0x14], ebx
jmp 0x100453a4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10045391
mov dword [ebp - 0x14], ebx
jmp 0x100453c2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x15c]
mov dword [eax + ecx*4], 0x1897a4a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100453af
mov dword [ebp - 0x14], ebx
jmp 0x100453df
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 0x3c3ae507
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x100453cc
mov esi, dword [ebp - 0x15c]
mov dword [esi + 4], ebx
push 1
lea ecx, [ebp - 0x94]
call fcn.100333f7
xor edx, edx
mov dword [ebp - 0x20], 0x83bc1b0f
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1004541d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x94]
mov dword [eax + ecx*4], 0xa162c9cc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1004540a
cmp dword [esi + 4], ebx
jne 0x10045460
mov eax, dword [ebp - 0xd0]
cmp dword [eax], ebx
jne 0x10045454
mov eax, dword [ebp - 0x94]
mov ecx, edx
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x94]
sub ecx, dword [eax]
je 0x10045450
cmp dword [esi + 4], ebx
jne 0x10045454
mov eax, ebx
jmp 0x10045456
mov eax, edx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jne 0x10045460
mov edx, ebx
mov eax, dword [ebp - 0x94]
xor ecx, ecx
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, edx
mov eax, dword [ebp - 0xd0]
setge cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x94]
setg dl
sub edx, 7
neg edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x120]
sbb edx, edx
inc edx
sub ecx, edx
mov dword [eax], ecx
lea ecx, [ebp - 0x94]
call fcn.10033479
inc dword [esi + 4]
cmp dword [esi + 4], 0
jle 0x100453ee
lea ecx, [ebp - 0x120]
call fcn.10033479
lea ecx, [ebp - 0x15c]
call fcn.10033479
or esi, 0xffffffff
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], esi
call fcn.10033479
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x38], 0xb4074dd
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x1c], 0x12
jmp 0x10045509
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x10045506
call dword [0x10617160]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jge 0x100454f7
push 2
lea ecx, [ebp - 0x174]
call fcn.100333f7
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x38], 0x5251c607
xor eax, eax
mov dword [ebp - 0x24], 0xfffffffa
inc eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x38], 0x52b3395c
mov dword [ebp - 0x30], 0xffff
push eax
call fcn.100333f7
mov byte [ebp - 4], 7
mov dword [ebp - 0x18], ebx
jmp 0x10045576
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 0xbef7d651
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10045568
mov dword [ebp - 0x18], ebx
jmp 0x10045594
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0x887e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10045581
mov dword [ebp - 0x24], 0xfffffffd
jmp 0x10045756
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x38], 0x2a6add33
mov dword [ebp - 0x34], 0x64db2a93
mov dword [ebp - 0x18], 0xba600ac8
cmp dword [ebp - 0x14], ebx
je 0x100455e5
mov dword [ebp - 0x28], 0xc3ee
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
jmp 0x10045666
push 1
lea ecx, [ebp - 0x1b0]
call fcn.100333f7
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x10045609
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1b0]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100455fa
mov dword [ebp - 0x14], ebx
jmp 0x10045656
mov dword [ebp - 0x28], 0x9cee
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x48], ebx
je 0x10045647
mov eax, dword [ebp - 0x24]
mov ecx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], 6
jne 0x10045649
mov ecx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], ecx
mov eax, dword [ebp - 0x48]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x10045613
lea ecx, [ebp - 0x1b0]
call fcn.10033479
mov dword [ebp - 0x14], ebx
jmp 0x10045749
mov dword [ebp - 0x20], 0x149cff29
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x28], 0xc3d8d58
mov dword [ebp - 0x28], esi
push 4
call fcn.100333f7
mov dword [ebp - 0x1c], ebx
jmp 0x100456a4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 0x2fc9aeb9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10045691
cmp dword [ebp - 0x20], ebx
jne 0x100456b3
mov ecx, ebx
jmp 0x100456b6
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
dec dword [ebp - 0x30]
cmp eax, ecx
jge 0x100456d4
cmp dword [ebp - 0x34], ebx
je 0x100456d4
xor edx, edx
inc edx
jmp 0x100456d6
mov edx, ebx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp edx, 0x603f
mov eax, dword [ebp - 0xac]
sete cl
add ecx, dword [eax]
jne 0x100456f4
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xac]
mov dword [eax + 8], 0x59018101
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
mov eax, dword [ebp + eax*4 - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
mov dword [ebp + eax*4 - 0x48], ecx
lea ecx, [ebp - 0xac]
call fcn.10033479
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jle 0x1004566e
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe9
jl 0x100455a6
mov eax, dword [ebp - 0x150]
lea ecx, [ebp - 0x150]
inc dword [eax]
mov byte [ebp - 4], 6
call fcn.10033479
mov dword [ebp - 0x38], 1
lea ecx, [ebp - 0x70]
push edi
call fcn.100333f7
mov byte [ebp - 4], 8
mov dword [ebp - 0x14], 0x8a87013d
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x24], 0x1f6c
mov dword [ebp - 0x1c], ebx
jmp 0x100457b8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100457a8
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x10045912
mov dword [ebp - 0x34], 0x1d2a6f9a
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x30], 2
mov dword [ebp - 0x38], esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x10045814
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], 0xa60c437f
mov dword [ebp - 0x28], 0x6d9b
cmp dword [ebp - 0x28], 0x70f8
jle 0x10045883
push ebx
push ebx
push 0xb80
push 0x93f
push ebx
call dword [0x10617254]
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x1c], 0x2fa4
mov eax, edi
mov ecx, 0x10614338
cdq
push edx
push eax
call fcn.100332e2
add edi, esi
dec dword [ebp - 0x1c]
jne 0x1004585e
inc esi
cmp esi, 0x7490
jl 0x10045855
push 3
pop edi
or esi, 0xffffffff
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x18], 0x395b915f
jle 0x1004589b
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x8ea4
setl cl
mov dword [ebp - 0x20], ecx
mov byte [ebp - 4], 9
cmp dword [ebp - 0x28], 0x6b41
jge 0x10045903
mov edx, 0x1000b16c
mov ecx, 0x10614338
call fcn.10034d8c
jmp 0x10045903
mov dword [ebp - 4], 8
dec dword [ebp - 0x14]
jmp 0x100457c4
mov dword [ebp - 0x14], 0xffffffe4
cmp dword [ebp - 0x14], 0xffffffee
jle 0x10045a72
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], 0x3a78
cmp dword [ebp - 0x34], 0x3d06
jle 0x1004598a
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov ecx, esi
mov dword [ebp - 0x38], ebx
mov edi, eax
mov esi, ebx
shl edi, cl
mov ecx, esi
mov eax, edi
sar eax, cl
mov ecx, 0x10614338
cdq
push edx
push eax
call fcn.100332e2
inc esi
cmp esi, 0x2f09
jl 0x1004594b
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x7a0
jl 0x10045940
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x63c7
jl 0x1004593b
push 3
pop edi
or esi, 0xffffffff
mov byte [ebp - 0x29], bl
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x34], 0x38ae
jge 0x100459cd
mov edx, 0x1000b1d0
mov ecx, 0x10614338
call fcn.10034d8c
jmp 0x100459cd
mov dword [ebp - 4], 8
cmp byte [ebp - 0x29], 0
je 0x10045a0a
push 0x19
push 0x207f
push 0x648
push 0x520
push 0x259e
push 0x17c3
push 0x1a6c
push 0x713
push 0x1c12
call dword [0x1061704c]
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x10045a6a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x70]
cmp dword [eax + ecx*4], ebx
jne 0x10045a67
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], ebx
jl 0x10045a62
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax + ecx*4]
sub ecx, dword [eax + edx*4]
xor edx, edx
mov eax, dword [ebp - 0x18]
imul ecx, ecx, 0xbd05
cmp ecx, eax
mov eax, dword [ebp - 0x70]
setg dl
xor ecx, ecx
cmp edx, dword [eax + esi*4]
setl cl
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x24]
jns 0x10045a2d
dec dword [ebp - 0x18]
jns 0x10045a16
or esi, 0xffffffff
inc dword [ebp - 0x14]
jmp 0x10045919
lea ecx, [ebp - 0x70]
call fcn.10033479
mov dword [ebp - 0x1c], ebx
jmp 0x10045a92
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x174]
mov dword [eax + ecx*4], 0x13dd33a4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10045a7f
mov eax, dword [ebp - 0x174]
lea ecx, [ebp - 0x174]
mov dword [ebp - 4], esi
mov dword [eax + 4], ebx
call fcn.10033479
push edi
lea ecx, [ebp - 0xdc]
call fcn.100333f7
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], 0x4c9d8d92
mov dword [ebp - 0x34], 0x65c3421a
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ebx
jmp 0x10045aea
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0xc8a6b950
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10045ad7
mov dword [ebp - 0x18], ebx
jmp 0x10045b05
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1d0], 0x79df9481
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10045af4
mov edx, dword [ebp - 0xdc]
xor ecx, ecx
mov eax, dword [edx]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [edx + 4]
setge cl
imul ecx, dword [edx + 8]
test ecx, ecx
je 0x10045b54
mov eax, dword [ebp - 0xdc]
cmp dword [eax], ebx
jne 0x10045b45
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov dword [edx + 8], ecx
lea ecx, [ebp - 0xdc]
call fcn.10033479
mov eax, dword [ebp - 0x4c]
cmp byte [eax], 0
je 0x1004621f
mov dword [ebp - 0x34], 0xaf7
cmp dword [ebp - 0x34], 0xb8b
jle 0x10045bd0
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
xor eax, ecx
mov ecx, 0x10614338
cdq
push edx
push eax
call fcn.100332e2
mov ecx, dword [ebp - 0x30]
inc edi
cmp edi, 0x5cd0
jl 0x10045b8f
inc esi
cmp esi, 0x1b80
jl 0x10045b8d
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x3242
jl 0x10045b8b
push 0x8bc
call dword [0x10617248]
push 3
pop edi
push 4
lea ecx, [ebp - 0x7c]
call fcn.100333f7
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x14], 0x5252cb13
mov dword [ebp - 0x24], 0xe3c23917
mov dword [ebp - 0x18], ebx
jmp 0x10045c04
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0x3342
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10045bf4
mov dword [ebp - 0x18], ebx
jmp 0x10045c1d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50], 0xfe96f77d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10045c0f
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x10045e4a
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x20], 0x5f27a412
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], 0xe7aebb1b
mov dword [ebp - 0x1c], ebx
jmp 0x10045c59
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x40], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10045c4b
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
xor eax, eax
or edx, 0xffffffff
cmp ecx, edx
setne al
imul eax, eax, 0x2010
test eax, eax
je 0x10045c94
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xc], ebx
je 0x10045c94
xor eax, eax
inc eax
jmp 0x10045c96
mov eax, ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
je 0x10045ca1
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov eax, dword [ebp - 0x40]
sbb ecx, ecx
add ecx, 0xffffd972
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
setne bl
neg ecx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp eax, ebx
setle cl
xor ebx, ebx
sub edx, ecx
inc edx
je 0x10045cf0
cmp dword [ebp - 0x20], ebx
je 0x10045cf0
xor eax, eax
inc eax
jmp 0x10045cf2
mov eax, ebx
cmp eax, dword [ebp - 0x40]
je 0x10045d00
cmp dword [ebp - 0x40], ebx
jne 0x10045d00
mov edx, ebx
jmp 0x10045d03
xor edx, edx
inc edx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
add eax, edx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor eax, eax
add edx, 0xa
cmp edx, dword [esi + 4]
setle al
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x50]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 8
ja 0x10045d51
cmp dword [ebp - 0x50], ebx
jne 0x10045d51
mov edx, ebx
jmp 0x10045d54
xor edx, edx
inc edx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x7c]
setle cl
xor edx, edx
cmp ecx, dword [eax]
setg dl
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x50]
imul eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], ebx
jl 0x10045e41
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edi
jg 0x10045e35
push 2
lea ecx, [ebp - 0x18c]
call fcn.100333f7
mov dword [ebp - 0x1c], ebx
jmp 0x10045dbf
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18c]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10045dac
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x18c]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0x18]
mov eax, dword [eax + ecx*4]
mov dword [esi + 4], eax
cmp dword [esi + 4], 0xd45c
mov eax, dword [ebp - 0x28]
setg dl
neg eax
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x7c]
setl cl
xor edx, edx
cmp dword [eax + edi*4], ecx
lea ecx, [ebp - 0x18c]
sete dl
add edx, dword [eax + ebx*4]
cmp edx, 0xffffffff
sbb eax, eax
inc eax
mov dword [ebp - 0x4c], eax
call fcn.10033479
inc dword [ebp - 0x18]
push 3
pop edi
push 0
pop ebx
cmp dword [ebp - 0x18], edi
jle 0x10045d9a
dec dword [ebp - 0x24]
jns 0x10045d80
mov esi, dword [ebp - 0x38]
dec dword [ebp - 0x14]
jns 0x10045c35
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x10045e64
push ebx
push 0x263
push 0x1056
call dword [0x10617078]
lea ecx, [ebp - 0x7c]
call fcn.10033479
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x34], 0x9ca
jge 0x10045e8b
mov edx, 0x1000b1f8
mov ecx, 0x10614338
call fcn.10034d8c
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x104], 0xf825e7a6
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x100], 0xf825e7a6
mov dword [ebp - 0xfc], 0xf825e7a6
mov dword [ebp - 0xf8], 0xf825e7a6
push 4
call fcn.100333f7
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x20], 0xa445a8cc
mov dword [ebp - 0x1c], ebx
jmp 0x10045f0f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x180]
mov dword [eax + ecx*4], 0xdce9d05b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10045efc
mov esi, dword [ebp - 0x180]
mov dword [esi + 0xc], ebx
mov dword [ebp - 0x14], 0x82ff40fc
mov dword [ebp - 0x28], 0x85fcb444
mov dword [ebp - 0x14], ebx
jmp 0x10046060
mov dword [ebp - 0x24], 0x66e58d02
lea ecx, [ebp - 0xb8]
push 2
call fcn.100333f7
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x1c], ebx
jmp 0x10045f64
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0xc44d4e2b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10045f51
mov dword [ebp - 0x24], ebx
jmp 0x10046039
mov dword [ebp - 0x18], 0xe135e1f6
lea ecx, [ebp - 0x198]
push 1
call fcn.100333f7
mov dword [ebp - 0x1c], ebx
jmp 0x10045f9e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x198]
mov dword [eax + ecx*4], 0x5aba9a9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10045f8b
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x1004602b
mov eax, dword [esi + 0xc]
mov ecx, 0x2bb2c593
mov dword [ebp - 0x28], 0xf13bcf59
mov eax, dword [ebp + eax*4 - 0x104]
mov eax, dword [ebp - 0x24]
sub ecx, eax
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x20578cca
mov eax, dword [ebp - 0xb8]
setge cl
xor edx, edx
cmp ecx, 0xb9c2
setle dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xa4d9
setl al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, 4
mov eax, dword [ebp - 0x198]
setle cl
mov dword [eax], ecx
dec dword [ebp - 0x18]
jns 0x10045fac
lea ecx, [ebp - 0x198]
call fcn.10033479
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x10045f72
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x10
cmp dword [ebp + eax*4 - 0x104], ebx
jne 0x1004606b
call fcn.10033479
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10045f34
jmp 0x10046070
call fcn.10033479
inc dword [esi + 0xc]
cmp dword [esi + 0xc], edi
jle 0x10045f1e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x180]
call fcn.10033479
push 1
lea ecx, [ebp - 0xc4]
call fcn.100333f7
push edi
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0x12
call fcn.100333f7
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x28], 0xf0b1
mov dword [ebp - 0x28], 0xab3ae5d5
push 1
call fcn.100333f7
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x14], ebx
jmp 0x100460e6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x100460d3
mov dword [ebp - 0x14], ebx
jmp 0x10046104
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], 0x1897a4a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100460f1
mov dword [ebp - 0x14], ebx
jmp 0x10046121
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0x3c3ae507
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1004610e
mov esi, dword [ebp - 0x144]
mov dword [esi + 4], ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.100333f7
xor edx, edx
mov dword [ebp - 0x28], 0x83bc1b0f
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1004615f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0xa162c9cc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1004614c
cmp dword [esi + 4], ebx
jne 0x100461a2
mov eax, dword [ebp - 0xc4]
cmp dword [eax], ebx
jne 0x10046196
mov eax, dword [ebp - 0x88]
mov ecx, edx
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x88]
sub ecx, dword [eax]
je 0x10046192
cmp dword [esi + 4], ebx
jne 0x10046196
mov eax, ebx
jmp 0x10046198
mov eax, edx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jne 0x100461a2
mov edx, ebx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, edx
mov eax, dword [ebp - 0xc4]
setge cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x88]
setg dl
sub edx, 7
neg edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x12c]
sbb edx, edx
inc edx
sub ecx, edx
mov dword [eax], ecx
lea ecx, [ebp - 0x88]
call fcn.10033479
inc dword [esi + 4]
cmp dword [esi + 4], 0
jle 0x10046130
lea ecx, [ebp - 0x12c]
call fcn.10033479
lea ecx, [ebp - 0x144]
call fcn.10033479
lea ecx, [ebp - 0xc4]
call fcn.10033479
mov eax, dword [ebp - 0x58]
jmp 0x10046390
push edi
lea ecx, [ebp - 0xf4]
call fcn.100333f7
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], 0x4c9d8d92
mov dword [ebp - 0x34], 0x65c3421a
mov dword [ebp - 0x30], 0x3fa
cmp dword [ebp - 0x30], 0x44b
jle 0x100462ae
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov edi, esi
mov esi, 0x623a
mov eax, edi
lea ecx, [ebp - 0x1e8]
cdq
push edx
push eax
call fcn.1000d1b0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10046279
mov eax, dword [eax]
push eax
call fcn.10054ad6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1e8]
call fcn.10033783
dec edi
dec esi
jne 0x1004625f
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x3bd0
jl 0x10046258
push ebx
call dword [0x10617170]
push 3
pop edi
or esi, 0xffffffff
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x30], 0x12a
jge 0x100462c5
push 0x1000b244
call fcn.10054ad6
pop ecx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], ebx
jmp 0x100462e0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 0xc8a6b950
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100462cd
mov dword [ebp - 0x18], ebx
jmp 0x100462fb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c0], 0x79df9481
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100462ea
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov eax, dword [edx]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [edx + 4]
setge cl
imul ecx, dword [edx + 8]
test ecx, ecx
je 0x1004634a
mov eax, dword [ebp - 0xf4]
cmp dword [eax], ebx
jne 0x1004633b
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov dword [edx + 8], ecx
lea ecx, [ebp - 0xf4]
call fcn.10033479
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x58], 0xb4074dd
mov dword [ebp - 0x1c], 0x12
jmp 0x10046385
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x10046382
call dword [0x10617160]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jge 0x10046373
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword [eax], ebx
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret