Function at 0x475eb9
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x50], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp eax, 3
jg 0x475ede
mov eax, 0
jmp 0x476d41
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, byte [eax]
movzx eax, al
and eax, 0xdf
cmp eax, 0x43
je 0x475efd
mov eax, 0
jmp 0x476d41
mov eax, dword [ebp + 8]
mov eax, dword [eax]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
and eax, 0xdf
cmp eax, 0x4f
je 0x475f1f
mov eax, 0
jmp 0x476d41
mov eax, dword [ebp + 8]
mov eax, dword [eax]
add eax, 2
movzx eax, byte [eax]
movzx eax, al
and eax, 0xdf
cmp eax, 0x4d
je 0x475f41
mov eax, 0
jmp 0x476d41
mov dword [0xa1513c], 0xffffffff
mov dword [0xa15140], 3
jmp 0x475ff2
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [0xa15140]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [0xa15144], eax
mov eax, dword [0xa15144]
cmp eax, 0x3a
je 0x476017
mov eax, dword [0xa15144]
cmp eax, 0x2f
jle 0x475f93
mov eax, dword [0xa15144]
cmp eax, 0x39
jle 0x475f9d
mov eax, 0
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
jne 0x475fc5
mov eax, dword [0xa15144]
cmp eax, 0x30
jne 0x475fbb
mov eax, 0
jmp 0x476d41
mov dword [0xa1513c], 0
mov edx, dword [0xa1513c]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov edx, eax
mov eax, dword [0xa15144]
sub eax, 0x30
add eax, edx
mov dword [0xa1513c], eax
mov eax, dword [0xa15140]
add eax, 1
mov dword [0xa15140], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
lea edx, [eax - 1]
mov eax, dword [0xa15140]
cmp edx, eax
setg al
test al, al
jne 0x475f5a
mov eax, 0
jmp 0x476d41
nop
mov eax, dword [0xa15148]
cmp eax, 6
jg 0x476037
mov eax, dword [0xa1513c]
test eax, eax
jle 0x476037
mov eax, dword [0xa1513c]
cmp eax, 0xff
jle 0x476041
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
mov edx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x50], dl
mov eax, dword [0xa1514c]
test eax, eax
jne 0x476070
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00443436
mov dword [0xa1514c], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00443e2e
mov edx, eax
mov eax, dword [0xa1514c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044359d
mov edx, dword [0xa1514c]
mov eax, dword [edx + 4]
sub eax, 1
mov dword [edx + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x54], 0xffffffff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x58], 0xff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x59], 0xff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5a], 0xff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5d], 0xff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5b], 0xff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5c], 0xff
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x60], 0xffffffff
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x64], 0xffffffff
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x68], 0xffffffff
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x6c], 0xffffffff
mov dword [0xa15150], 0
mov dword [0xa15154], 0
mov dword [0xa15158], 1
mov dword [0xa1515c], 1
mov dword [0xa15160], 0
mov dword [0xa15164], 0
mov dword [0xa1513c], 0xffffffff
mov eax, dword [0xa15140]
add eax, 1
mov dword [0xa15140], eax
jmp 0x476ba0
mov eax, dword [0xa1514c]
mov edx, dword [eax]
mov eax, dword [0xa15140]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [0xa15144], eax
mov eax, dword [0xa15144]
cmp eax, 0x2c
je 0x476422
mov eax, dword [0xa15144]
cmp eax, 0x2f
jle 0x4761a0
mov eax, dword [0xa15144]
cmp eax, 0x39
jle 0x476196
mov eax, dword [0xa15144]
cmp eax, 0x40
jle 0x4761a0
mov eax, dword [0xa15144]
cmp eax, 0x5a
jle 0x4761aa
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1515c]
cmp eax, 2
jne 0x4761c8
mov eax, dword [0xa15144]
cmp eax, 0x40
jle 0x4761c8
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa15144]
cmp eax, 0x40
jg 0x4761dc
mov dword [0xa1515c], 2
mov eax, dword [0xa1515c]
cmp eax, 1
je 0x4761f4
mov eax, dword [0xa15158]
cmp eax, 4
jne 0x47637f
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
and ecx, 0xff0000
mov dword [ebp - 0x20], ecx
mov ebx, edx
and ebx, 0
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp - 0x20]
test eax, eax
je 0x476260
mov eax, dword [0xa15144]
shl eax, 0x18
mov dword [ebp - 0x48], eax
mov edx, eax
sar edx, 0x1f
mov dword [ebp - 0x44], edx
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, dword [ebp - 0x48]
or ecx, eax
mov dword [ebp - 0x28], ecx
mov ebx, dword [ebp - 0x44]
or ebx, edx
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0xa15160], eax
mov dword [0xa15164], edx
jmp 0x476353
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
and ecx, 0xff00
mov dword [ebp - 0x30], ecx
mov ebx, edx
and ebx, 0
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x2c]
or eax, dword [ebp - 0x30]
test eax, eax
je 0x4762cc
mov eax, dword [0xa15144]
shl eax, 0x10
mov dword [ebp - 0x48], eax
mov edx, eax
sar edx, 0x1f
mov dword [ebp - 0x44], edx
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, dword [ebp - 0x48]
or ecx, eax
mov dword [ebp - 0x38], ecx
mov ebx, dword [ebp - 0x44]
or ebx, edx
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [0xa15160], eax
mov dword [0xa15164], edx
jmp 0x476353
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
movzx esi, al
mov edi, edx
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x476328
mov eax, dword [0xa15144]
shl eax, 8
mov dword [ebp - 0x48], eax
mov edx, eax
sar edx, 0x1f
mov dword [ebp - 0x44], edx
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, dword [ebp - 0x48]
or ecx, eax
mov dword [ebp - 0x40], ecx
mov ebx, dword [ebp - 0x44]
or ebx, edx
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [0xa15160], eax
mov dword [0xa15164], edx
jmp 0x476353
mov eax, dword [0xa15144]
mov edx, eax
sar edx, 0x1f
mov dword [0xa15160], eax
mov dword [0xa15164], edx
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov dword [0xa15160], eax
mov dword [0xa15164], edx
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
test edx, edx
js 0x476422
test edx, edx
jg 0x476375
cmp eax, 0x1000000
jbe 0x476422
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa15144]
cmp eax, 0x30
jle 0x4763dd
mov eax, dword [0xa15144]
cmp eax, 0x39
jg 0x4763dd
mov eax, dword [0xa1513c]
cmp eax, 0xfffffffe
jne 0x4763a7
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
jne 0x4763bb
mov dword [0xa1513c], 0
mov edx, dword [0xa1513c]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov edx, eax
mov eax, dword [0xa15144]
sub eax, 0x30
add eax, edx
mov dword [0xa1513c], eax
jmp 0x476422
mov eax, dword [0xa1513c]
cmp eax, 0xfffffffe
jne 0x4763f1
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
jne 0x476405
mov dword [0xa1513c], 0xfffffffe
mov eax, dword [0xa1513c]
test eax, eax
jle 0x476422
mov edx, dword [0xa1513c]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov dword [0xa1513c], eax
mov eax, dword [0xa15144]
cmp eax, 0x2c
je 0x476444
mov eax, dword [0xa1514c]
mov eax, dword [eax + 4]
lea edx, [eax - 1]
mov eax, dword [0xa15140]
cmp edx, eax
jne 0x476b93
mov eax, dword [0xa1513c]
cmp eax, 0xfffffffe
jne 0x476458
mov dword [0xa1513c], 0
mov eax, dword [0xa15158]
cmp eax, 1
jne 0x4764d7
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
je 0x476477
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
or eax, edx
test eax, eax
je 0x476492
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
test eax, eax
jne 0x4764a5
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
jne 0x4764b9
mov dword [0xa1513c], 0x12c
mov edx, dword [0xa1513c]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x54], edx
mov eax, dword [0xa15158]
add eax, 1
mov dword [0xa15158], eax
jmp 0x476b6b
mov eax, dword [0xa15158]
cmp eax, 2
jne 0x476635
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x58]
cmp al, 0xff
je 0x4764fa
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
je 0x47650e
mov eax, 0xffffffff
jmp 0x476d41
mov dword [0xa15148], 0xffffffff
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x4e
mov eax, ecx
or eax, edx
test eax, eax
jne 0x47653a
mov dword [0xa15148], 0
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
or eax, edx
test eax, eax
jne 0x476555
mov dword [0xa15148], 1
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x45
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476577
mov dword [0xa15148], 1
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x4f
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476599
mov dword [0xa15148], 2
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x53
mov eax, ecx
or eax, edx
test eax, eax
jne 0x4765bb
mov dword [0xa15148], 3
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x4d
mov eax, ecx
or eax, edx
test eax, eax
jne 0x4765dd
mov dword [0xa15148], 4
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x4550
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476602
mov dword [0xa15148], 5
mov eax, dword [0xa15148]
cmp eax, 0xffffffff
jne 0x476616
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa15148]
mov edx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x58], dl
mov eax, dword [0xa15158]
add eax, 1
mov dword [0xa15158], eax
jmp 0x476b6b
mov eax, dword [0xa15158]
cmp eax, 3
jne 0x476714
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x59]
cmp al, 0xff
je 0x476658
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
or eax, edx
test eax, eax
je 0x476673
mov eax, 0xffffffff
jmp 0x476d41
mov dword [0xa15148], 0xffffffff
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
jne 0x476691
mov dword [0xa15148], 7
mov eax, dword [0xa1513c]
cmp eax, 5
jne 0x4766a5
mov dword [0xa15148], 5
mov eax, dword [0xa1513c]
cmp eax, 6
jne 0x4766b9
mov dword [0xa15148], 6
mov eax, dword [0xa1513c]
cmp eax, 7
jne 0x4766cd
mov dword [0xa15148], 7
mov eax, dword [0xa1513c]
cmp eax, 8
jne 0x4766e1
mov dword [0xa15148], 8
mov eax, dword [0xa15148]
cmp eax, 0xffffffff
jne 0x4766f5
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa15148]
mov edx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x59], dl
mov eax, dword [0xa15158]
add eax, 1
mov dword [0xa15158], eax
jmp 0x476b6b
mov eax, dword [0xa15158]
cmp eax, 4
jne 0x476836
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5a]
cmp al, 0xff
je 0x476737
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
je 0x47674b
mov eax, 0xffffffff
jmp 0x476d41
mov dword [0xa15148], 0xffffffff
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
or eax, edx
test eax, eax
jne 0x47679a
mov dword [0xa15148], 0xa
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x54]
cmp eax, 0x6e
jg 0x47679a
mov dword [0xa15148], 0x14
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x59]
cmp al, 5
jne 0x47679a
mov dword [0xa15148], 0xf
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x31
mov eax, ecx
or eax, edx
test eax, eax
jne 0x4767bc
mov dword [0xa15148], 0xa
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x352e31
mov eax, ecx
or eax, edx
test eax, eax
jne 0x4767e1
mov dword [0xa15148], 0xf
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x32
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476803
mov dword [0xa15148], 0x14
mov eax, dword [0xa15148]
cmp eax, 0xffffffff
jne 0x476817
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa15148]
mov edx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5a], dl
mov eax, dword [0xa15158]
add eax, 1
mov dword [0xa15158], eax
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
or eax, edx
test eax, eax
jne 0x476851
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x5352
mov eax, ecx
or eax, edx
test eax, eax
jne 0x47688d
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5d]
cmp al, 0xff
je 0x476881
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5d], 1
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x4e4942
mov eax, ecx
or eax, edx
test eax, eax
jne 0x4768c9
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5b]
cmp al, 0xff
je 0x4768bd
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5b], 0
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x435341
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476905
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5b]
cmp al, 0xff
je 0x4768f9
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5b], 1
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x4254
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476942
mov eax, dword [0xa15154]
test eax, eax
je 0x476933
mov eax, 0xffffffff
jmp 0x476d41
mov dword [0xa15154], 1
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x4252
mov eax, ecx
or eax, edx
test eax, eax
jne 0x47697f
mov eax, dword [0xa15150]
test eax, eax
je 0x476970
mov eax, 0xffffffff
jmp 0x476d41
mov dword [0xa15150], 1
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x464c
mov eax, ecx
or eax, edx
test eax, eax
jne 0x4769bb
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5c]
cmp al, 0xff
je 0x4769af
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5c], 1
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x4443
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476a26
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x60]
cmp eax, 0xffffffff
je 0x4769eb
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
jne 0x4769ff
mov dword [0xa1513c], 0
mov eax, dword [0xa1513c]
cmp eax, 0xffff
jle 0x476a15
mov eax, 0xffffffff
jmp 0x476d41
mov edx, dword [0xa1513c]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x60], edx
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x5343
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476a91
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x64]
cmp eax, 0xffffffff
je 0x476a56
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
jne 0x476a6a
mov dword [0xa1513c], 0x3e8
mov eax, dword [0xa1513c]
cmp eax, 0xffff
jle 0x476a80
mov eax, 0xffffffff
jmp 0x476d41
mov edx, dword [0xa1513c]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x64], edx
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x5344
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476af9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x68]
cmp eax, 0xffffffff
je 0x476ac1
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
jne 0x476ad5
mov dword [0xa1513c], 0x3e8
mov eax, dword [0xa1513c]
cmp eax, 0xffff
jle 0x476aeb
mov eax, 0xffffffff
jmp 0x476d41
mov edx, dword [0xa1513c]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x68], edx
jmp 0x476b6b
mov eax, dword [0xa15160]
mov edx, dword [0xa15164]
mov ecx, eax
xor ecx, 0x504f
mov eax, ecx
or eax, edx
test eax, eax
jne 0x476b61
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x6c]
cmp eax, 0xffffffff
je 0x476b29
mov eax, 0xffffffff
jmp 0x476d41
mov eax, dword [0xa1513c]
cmp eax, 0xffffffff
jne 0x476b3d
mov dword [0xa1513c], 0x2710
mov eax, dword [0xa1513c]
cmp eax, 0xffff
jle 0x476b53
mov eax, 0xffffffff
jmp 0x476d41
mov edx, dword [0xa1513c]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x6c], edx
jmp 0x476b6b
mov eax, 0xffffffff
jmp 0x476d41
mov dword [0xa1515c], 1
mov dword [0xa15160], 0
mov dword [0xa15164], 0
mov dword [0xa1513c], 0xffffffff
mov eax, dword [0xa15140]
add eax, 1
mov dword [0xa15140], eax
mov eax, dword [0xa1514c]
mov edx, dword [eax + 4]
mov eax, dword [0xa15140]
cmp edx, eax
setg al
test al, al
jne 0x476151
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jne 0x476bcf
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x54], 0x12c
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x58]
cmp al, 0xff
jne 0x476be1
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x58], 1
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x59]
cmp al, 0xff
jne 0x476bf3
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x59], 7
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5a]
cmp al, 0xff
jne 0x476c3f
mov dword [0xa15148], 0xa
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x54]
cmp eax, 0x6e
jg 0x476c32
mov dword [0xa15148], 0x14
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x59]
cmp al, 5
jne 0x476c32
mov dword [0xa15148], 0xf
mov eax, dword [0xa15148]
mov edx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5a], dl
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5b]
cmp al, 0xff
jne 0x476c51
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5b], 0
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5c]
cmp al, 0xff
jne 0x476c63
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5c], 0
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5c]
cmp al, 1
jne 0x476c80
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5b]
test al, al
jne 0x476c80
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5c], 0
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5d]
cmp al, 0xff
jne 0x476c92
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5d], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x60]
cmp eax, 0xffffffff
jne 0x476ca7
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x60], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x64]
cmp eax, 0xffffffff
jne 0x476cbc
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x64], 0x3e8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x68]
cmp eax, 0xffffffff
jne 0x476cd1
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x68], 0x3e8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x6c]
cmp eax, 0xffffffff
jne 0x476d3f
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x60]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov dword [0xa15148], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x68]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov dword [0xa15168], eax
mov edx, dword [0xa15168]
mov eax, dword [0xa15148]
cmp edx, eax
jle 0x476d1d
mov eax, dword [0xa15168]
mov dword [0xa15148], eax
mov eax, dword [0xa15148]
cmp eax, 0xffff
jle 0x476d33
mov dword [0xa15148], 0xffff
mov edx, dword [0xa15148]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x6c], edx
jmp 0x476d41
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret