Function at 0x42c780
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45d4f8
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x4720c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, str.Chart1
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x2c]
call fcn.00439b80
xor edx, edx
mov dword [ebp - 4], edx
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x3c], esp
mov dword [ecx], eax
cmp eax, edx
je 0x42c7e7
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
lea esi, [ebp - 0x18]
call fcn.0043ed70
test eax, eax
jns 0x42c800
cmp eax, 0x80004002
je 0x42c800
push eax
call fcn.00445020
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x42c813
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebx + 0x50]
lea edi, [ebx + 0x50]
mov ecx, 0x464414
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42c849
test dx, dx
je 0x42c845
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42c849
add eax, 4
add ecx, 4
test dx, dx
jne 0x42c823
xor eax, eax
jmp 0x42c84e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x42cd67
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, 0x464418
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
call fcn.00439ad0
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebx + 0x54]
push ecx
push 0x464434
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov edx, esp
mov dword [ebp - 0x3c], esp
push edx
call fcn.00404130
push ecx
mov byte [ebp - 4], 4
mov eax, esp
mov dword [ebp - 0x38], esp
push eax
mov edi, str.StaticBox1
lea esi, [ebp - 0x28]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x24]
call fcn.00439b80
mov byte [ebp - 4], 5
mov eax, dword [eax]
test eax, eax
jne 0x42c8e7
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 6
mov ecx, dword [eax]
test ecx, ecx
jne 0x42c904
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 8
call fcn.004399d0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42c920
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x42c933
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x464460
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 9
mov edx, esp
mov dword [ebp - 0x38], esp
push edx
mov edi, 0x462068
lea esi, [ebp - 0x28]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x24]
call fcn.00439b80
mov byte [ebp - 4], 0xa
mov eax, dword [eax]
test eax, eax
jne 0x42c98f
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0xb
mov ecx, dword [eax]
test ecx, ecx
jne 0x42c9ac
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0xd
call fcn.004399d0
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42c9c8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x42c9db
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x46448c
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0xe
mov edx, esp
mov dword [ebp - 0x38], esp
push edx
mov edi, 0x46208c
lea esi, [ebp - 0x28]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x24]
call fcn.00439b80
mov byte [ebp - 4], 0xf
mov eax, dword [eax]
test eax, eax
jne 0x42ca37
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x10
mov ecx, dword [eax]
test ecx, ecx
jne 0x42ca54
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x12
call fcn.004399d0
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42ca70
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x42ca83
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, 0x4644b8
call fcn.00404130
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x5c]
lea ebx, [ebp - 0x28]
call fcn.00439b80
mov byte [ebp - 4], 0x13
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x3c], esp
mov dword [ecx], eax
test eax, eax
je 0x42cac3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [ebp - 0x1c]
call fcn.0043ed70
test eax, eax
jns 0x42cadc
cmp eax, 0x80004002
je 0x42cadc
push eax
call fcn.00445020
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42caef
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, str.Chart3
call fcn.00404130
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x5c]
lea ebx, [ebp - 0x24]
call fcn.00439b80
mov byte [ebp - 4], 0x16
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x3c], esp
mov dword [ecx], eax
test eax, eax
je 0x42cb2f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [ebp - 0x20]
call fcn.0043ed70
test eax, eax
jns 0x42cb48
cmp eax, 0x80004002
je 0x42cb48
push eax
call fcn.00445020
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x42cb5b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, str.StaticBox4
call fcn.00404130
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x30]
call fcn.00439b80
mov byte [ebp - 4], 0x19
mov edi, dword [eax]
test edi, edi
jne 0x42cb8e
push 0x80004003
call fcn.00445020
mov ecx, dword [edi]
mov edx, dword [ecx + 0xe0]
push 0
push edi
call edx
test eax, eax
jns 0x42cbab
push 0x4665a4
push edi
push eax
call fcn.00445040
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42cbbe
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, str.Chart4
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x30]
call fcn.00439b80
mov byte [ebp - 4], 0x1a
mov edi, dword [eax]
test edi, edi
jne 0x42cbee
push 0x80004003
call fcn.00445020
mov ecx, dword [edi]
mov edx, dword [ecx + 0xe0]
push 0
push edi
call edx
test eax, eax
jns 0x42cc0b
push 0x4665a4
push edi
push eax
call fcn.00445040
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42cc1e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, str.StaticBox5
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x30]
call fcn.00439b80
mov byte [ebp - 4], 0x1b
mov edi, dword [eax]
test edi, edi
jne 0x42cc4e
push 0x80004003
call fcn.00445020
mov ecx, dword [edi]
mov edx, dword [ecx + 0xe0]
push 0
push edi
call edx
test eax, eax
jns 0x42cc6b
push 0x4665a4
push edi
push eax
call fcn.00445040
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42cc7e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, str.Chart5
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x30]
call fcn.00439b80
mov byte [ebp - 4], 0x1c
mov edi, dword [eax]
test edi, edi
jne 0x42ccae
push 0x80004003
call fcn.00445020
mov ecx, dword [edi]
mov edx, dword [ecx + 0xe0]
push 0
push edi
call edx
test eax, eax
jns 0x42cccb
push 0x4665a4
push edi
push eax
call fcn.00445040
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42ccde
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, dword [ebp - 0x20]
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
mov dword [eax], edi
test edi, edi
je 0x42ccf5
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov ebx, dword [ebp - 0x1c]
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
mov dword [eax], ebx
test ebx, ebx
je 0x42cd0c
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
push ecx
mov ecx, dword [ebp - 0x18]
mov eax, esp
mov dword [ebp - 0x3c], esp
mov dword [eax], ecx
test ecx, ecx
je 0x42cd25
mov eax, ecx
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
push esi
call fcn.00429680
mov byte [ebp - 4], 0x15
test edi, edi
je 0x42cd3b
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov byte [ebp - 4], 3
test ebx, ebx
je 0x42cd4b
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push ebx
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x42de96
mov ecx, 0x464528
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42cd96
test dx, dx
je 0x42cd92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42cd96
add eax, 4
add ecx, 4
test dx, dx
jne 0x42cd70
xor eax, eax
jmp 0x42cd9b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x42d3be
push ecx
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ecx
mov edi, 0x46452c
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
call fcn.00439ad0
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebx + 0x54]
push ecx
push 0x464544
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov edx, esp
mov dword [ebp - 0x3c], esp
push edx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x1e
mov eax, esp
mov dword [ebp - 0x38], esp
push eax
mov edi, str.StaticBox1
lea esi, [ebp - 0x30]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x28]
call fcn.00439b80
mov byte [ebp - 4], 0x1f
mov eax, dword [eax]
test eax, eax
jne 0x42ce34
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x20
mov ecx, dword [eax]
test ecx, ecx
jne 0x42ce51
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x22
call fcn.004399d0
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42ce6d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42ce80
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x464570
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x23
mov edx, esp
mov dword [ebp - 0x38], esp
push edx
mov edi, 0x462068
lea esi, [ebp - 0x30]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x28]
call fcn.00439b80
mov byte [ebp - 4], 0x24
mov eax, dword [eax]
test eax, eax
jne 0x42cedc
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x25
mov ecx, dword [eax]
test ecx, ecx
jne 0x42cef9
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x27
call fcn.004399d0
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42cf15
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42cf28
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x46459c
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x28
mov edx, esp
mov dword [ebp - 0x38], esp
push edx
mov edi, 0x46208c
lea esi, [ebp - 0x30]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x28]
call fcn.00439b80
mov byte [ebp - 4], 0x29
mov eax, dword [eax]
test eax, eax
jne 0x42cf84
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x2a
mov ecx, dword [eax]
test ecx, ecx
jne 0x42cfa1
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x2c
call fcn.004399d0
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42cfbd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42cfd0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x4645c8
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x2d
mov edx, esp
mov dword [ebp - 0x38], esp
push edx
mov edi, str.StaticBox4
lea esi, [ebp - 0x30]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x28]
call fcn.00439b80
mov byte [ebp - 4], 0x2e
mov eax, dword [eax]
test eax, eax
jne 0x42d02c
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x2f
mov ecx, dword [eax]
test ecx, ecx
jne 0x42d049
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x31
call fcn.004399d0
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42d065
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42d078
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x4645f4
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x32
mov edx, esp
mov dword [ebp - 0x38], esp
push edx
mov edi, str.StaticBox5
lea esi, [ebp - 0x30]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x28]
call fcn.00439b80
mov byte [ebp - 4], 0x33
mov eax, dword [eax]
test eax, eax
jne 0x42d0d4
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x34
mov ecx, dword [eax]
test ecx, ecx
jne 0x42d0f1
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x36
call fcn.004399d0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42d10d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42d120
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, 0x4644b8
call fcn.00404130
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x5c]
lea ebx, [ebp - 0x30]
call fcn.00439b80
mov byte [ebp - 4], 0x37
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x3c], esp
mov dword [ecx], eax
test eax, eax
je 0x42d160
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [ebp - 0x28]
call fcn.0043ed70
test eax, eax
jns 0x42d179
cmp eax, 0x80004002
je 0x42d179
push eax
call fcn.00445020
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42d18c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, str.Chart3
call fcn.00404130
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x5c]
lea ebx, [ebp - 0x34]
call fcn.00439b80
mov byte [ebp - 4], 0x3a
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x3c], esp
mov dword [ecx], eax
test eax, eax
je 0x42d1cc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [ebp - 0x20]
call fcn.0043ed70
test eax, eax
jns 0x42d1e5
cmp eax, 0x80004002
je 0x42d1e5
push eax
call fcn.00445020
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x42d1f8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, str.Chart4
call fcn.00404130
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x3d
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x3c], esp
mov dword [ecx], eax
test eax, eax
je 0x42d238
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [ebp - 0x1c]
call fcn.0043ed70
test eax, eax
jns 0x42d251
cmp eax, 0x80004002
je 0x42d251
push eax
call fcn.00445020
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42d264
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
mov edi, str.Chart5
call fcn.00404130
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x5c]
lea ebx, [ebp - 0x3c]
call fcn.00439b80
mov byte [ebp - 4], 0x40
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x40], esp
mov dword [ecx], eax
test eax, eax
je 0x42d2a4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [ebp - 0x24]
call fcn.0043ed70
test eax, eax
jns 0x42d2bd
cmp eax, 0x80004002
je 0x42d2bd
push eax
call fcn.00445020
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42d2d0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x24]
push ecx
mov eax, esp
mov dword [ebp - 0x40], esp
mov dword [eax], ebx
test ebx, ebx
je 0x42d2e7
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0x43
push ecx
mov ecx, dword [ebp - 0x1c]
mov eax, esp
mov dword [ebp - 0x44], esp
mov dword [eax], ecx
test ecx, ecx
je 0x42d302
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ecx
call eax
mov byte [ebp - 4], 0x44
push ecx
mov ecx, dword [ebp - 0x20]
mov eax, esp
mov dword [ebp - 0x48], esp
mov dword [eax], ecx
test ecx, ecx
je 0x42d31d
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ecx
call eax
mov byte [ebp - 4], 0x45
mov edi, dword [ebp - 0x28]
push ecx
mov eax, esp
mov dword [ebp - 0x4c], esp
mov dword [eax], edi
test edi, edi
je 0x42d338
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
mov dword [ecx], eax
test eax, eax
je 0x42d353
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
push ecx
mov byte [ebp - 4], 0x47
mov eax, esp
mov dword [ebp - 0x54], esp
push eax
mov ecx, 0x46461c
call fcn.00407e10
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0x42
call fcn.0042be50
mov byte [ebp - 4], 0x3f
test ebx, ebx
je 0x42d384
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x42d397
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x42d3aa
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x1d
test edi, edi
je 0x42de7f
mov eax, dword [edi]
push edi
jmp 0x42de7a
push edi
mov ecx, 0x464624
call fcn.00405db0
add esp, 4
test al, al
je 0x42d91b
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
mov edi, 0x464628
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
call fcn.00439ad0
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x48
mov ecx, dword [ebx + 0x54]
push ecx
push 0x464640
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov edx, esp
mov dword [ebp - 0x54], esp
push edx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x49
mov eax, esp
mov dword [ebp - 0x50], esp
push eax
mov edi, str.StaticBox1
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x4a
mov eax, dword [eax]
test eax, eax
jne 0x42d460
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x4b
mov ecx, dword [eax]
test ecx, ecx
jne 0x42d47d
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x4d
call fcn.004399d0
mov byte [ebp - 4], 0x4c
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42d499
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42d4ac
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x46466c
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x4e
mov edx, esp
mov dword [ebp - 0x50], esp
push edx
mov edi, 0x462068
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x4f
mov eax, dword [eax]
test eax, eax
jne 0x42d508
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x50
mov ecx, dword [eax]
test ecx, ecx
jne 0x42d525
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x52
call fcn.004399d0
mov byte [ebp - 4], 0x51
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42d541
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42d554
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x464698
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x53
mov edx, esp
mov dword [ebp - 0x50], esp
push edx
mov edi, 0x46208c
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x54
mov eax, dword [eax]
test eax, eax
jne 0x42d5b0
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x55
mov ecx, dword [eax]
test ecx, ecx
jne 0x42d5cd
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x57
call fcn.004399d0
mov byte [ebp - 4], 0x56
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42d5e9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42d5fc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x4646c4
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x58
mov edx, esp
mov dword [ebp - 0x50], esp
push edx
mov edi, str.StaticBox4
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x59
mov eax, dword [eax]
test eax, eax
jne 0x42d658
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x5a
mov ecx, dword [eax]
test ecx, ecx
jne 0x42d675
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x5c
call fcn.004399d0
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42d691
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42d6a4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x4646f0
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x5d
mov edx, esp
mov dword [ebp - 0x50], esp
push edx
mov edi, str.StaticBox5
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x5e
mov eax, dword [eax]
test eax, eax
jne 0x42d700
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x5f
mov ecx, dword [eax]
test ecx, ecx
jne 0x42d71d
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x61
call fcn.004399d0
mov byte [ebp - 4], 0x60
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42d739
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42d74c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
push eax
mov edi, 0x4644b8
call fcn.00404130
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x3c]
call fcn.00439b80
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x62
call fcn.0043dc70
mov byte [ebp - 4], 0x64
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42d78a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
push eax
mov edi, str.Chart3
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x65
call fcn.0043dc70
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42d7c5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
push eax
mov edi, str.Chart4
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x34]
call fcn.00439b80
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x68
call fcn.0043dc70
mov byte [ebp - 4], 0x6a
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x42d800
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
push eax
mov edi, str.Chart5
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x30]
call fcn.00439b80
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x6b
call fcn.0043dc70
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42d83b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, dword [ebp - 0x20]
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
mov dword [eax], edi
test edi, edi
je 0x42d852
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x6e
push ecx
mov ecx, dword [ebp - 0x28]
mov eax, esp
mov dword [ebp - 0x50], esp
mov dword [eax], ecx
test ecx, ecx
je 0x42d86d
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ecx
call eax
mov byte [ebp - 4], 0x6f
push ecx
mov ecx, dword [ebp - 0x24]
mov eax, esp
mov dword [ebp - 0x4c], esp
mov dword [eax], ecx
test ecx, ecx
je 0x42d888
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ecx
call eax
mov byte [ebp - 4], 0x70
mov ebx, dword [ebp - 0x1c]
push ecx
mov eax, esp
mov dword [ebp - 0x48], esp
mov dword [eax], ebx
test ebx, ebx
je 0x42d8a3
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push ebx
call edx
mov byte [ebp - 4], 0x71
mov eax, dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x44], esp
mov dword [ecx], eax
test eax, eax
je 0x42d8be
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
push ecx
mov byte [ebp - 4], 0x72
mov eax, esp
mov dword [ebp - 0x40], esp
push eax
mov ecx, 0x464718
call fcn.00407e10
mov byte [ebp - 4], 0x6d
call fcn.0042be50
mov byte [ebp - 4], 0x6a
test edi, edi
je 0x42d8ec
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42d8ff
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x64
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x42d912
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x48
jmp 0x42de73
push edi
mov ecx, 0x464720
call fcn.00405db0
add esp, 4
test al, al
je 0x42dea4
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
mov edi, 0x464724
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
call fcn.00439ad0
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x73
mov ecx, dword [ebx + 0x54]
push ecx
push 0x46473c
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov edx, esp
mov dword [ebp - 0x54], esp
push edx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x74
mov eax, esp
mov dword [ebp - 0x50], esp
push eax
mov edi, str.StaticBox1
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x75
mov eax, dword [eax]
test eax, eax
jne 0x42d9bd
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x76
mov ecx, dword [eax]
test ecx, ecx
jne 0x42d9da
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x78
call fcn.004399d0
mov byte [ebp - 4], 0x77
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42d9f6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42da09
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x464768
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x79
mov edx, esp
mov dword [ebp - 0x50], esp
push edx
mov edi, 0x462068
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x7a
mov eax, dword [eax]
test eax, eax
jne 0x42da65
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x7b
mov ecx, dword [eax]
test ecx, ecx
jne 0x42da82
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x7d
call fcn.004399d0
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42da9e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42dab1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x464794
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x7e
mov edx, esp
mov dword [ebp - 0x50], esp
push edx
mov edi, 0x46208c
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x7f
mov eax, dword [eax]
test eax, eax
jne 0x42db0d
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x80
mov ecx, dword [eax]
test ecx, ecx
jne 0x42db2a
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x82
call fcn.004399d0
mov byte [ebp - 4], 0x81
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42db46
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42db59
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x4647c0
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x83
mov edx, esp
mov dword [ebp - 0x50], esp
push edx
mov edi, str.StaticBox4
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x84
mov eax, dword [eax]
test eax, eax
jne 0x42dbb5
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x85
mov ecx, dword [eax]
test ecx, ecx
jne 0x42dbd2
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x87
call fcn.004399d0
mov byte [ebp - 4], 0x86
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42dbee
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42dc01
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
push eax
push 0x4647ec
lea edi, [ebp - 0x14]
call fcn.004030f0
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x88
mov edx, esp
mov dword [ebp - 0x50], esp
push edx
mov edi, str.StaticBox5
lea esi, [ebp - 0x3c]
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
mov byte [ebp - 4], 0x89
mov eax, dword [eax]
test eax, eax
jne 0x42dc5d
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x8a
mov ecx, dword [eax]
test ecx, ecx
jne 0x42dc7a
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x8c
call fcn.004399d0
mov byte [ebp - 4], 0x8b
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42dc96
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42dca9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
push eax
mov edi, 0x4644b8
call fcn.00404130
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x3c]
call fcn.00439b80
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x8d
call fcn.0043dc70
mov byte [ebp - 4], 0x8f
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42dce7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
push eax
mov edi, str.Chart3
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x38]
call fcn.00439b80
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x90
call fcn.0043dc70
mov byte [ebp - 4], 0x92
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42dd22
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
push eax
mov edi, str.Chart4
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x34]
call fcn.00439b80
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x93
call fcn.0043dc70
mov byte [ebp - 4], 0x95
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x42dd5d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
push eax
mov edi, str.Chart5
call fcn.00404130
mov ecx, dword [esi + 0x5c]
lea ebx, [ebp - 0x30]
call fcn.00439b80
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x96
call fcn.0043dc70
mov byte [ebp - 4], 0x98
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42dd98
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, dword [ebp - 0x20]
push ecx
mov eax, esp
mov dword [ebp - 0x54], esp
mov dword [eax], edi
test edi, edi
je 0x42ddaf
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x99
push ecx
mov ecx, dword [ebp - 0x28]
mov eax, esp
mov dword [ebp - 0x50], esp
mov dword [eax], ecx
test ecx, ecx
je 0x42ddca
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ecx
call eax
mov byte [ebp - 4], 0x9a
push ecx
mov ecx, dword [ebp - 0x24]
mov eax, esp
mov dword [ebp - 0x4c], esp
mov dword [eax], ecx
test ecx, ecx
je 0x42dde5
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ecx
call eax
mov byte [ebp - 4], 0x9b
mov ebx, dword [ebp - 0x1c]
push ecx
mov eax, esp
mov dword [ebp - 0x48], esp
mov dword [eax], ebx
test ebx, ebx
je 0x42de00
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push ebx
call edx
mov byte [ebp - 4], 0x9c
mov eax, dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x44], esp
mov dword [ecx], eax
test eax, eax
je 0x42de1b
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
push ecx
mov byte [ebp - 4], 0x9d
mov eax, esp
mov dword [ebp - 0x40], esp
push eax
mov ecx, 0x464814
call fcn.00407e10
mov byte [ebp - 4], 0x98
call fcn.0042be50
mov byte [ebp - 4], 0x95
test edi, edi
je 0x42de49
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov byte [ebp - 4], 0x92
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42de5c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x8f
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x42de6f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x73
test ebx, ebx
je 0x42de7f
mov eax, dword [ebx]
push ebx
mov ecx, dword [eax + 8]
call ecx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42dee8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x42dee8
push edi
mov ecx, 0x46481c
call fcn.00405db0
add esp, 4
test al, al
je 0x42dee8
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
push ecx
mov edi, 0x464820
call fcn.00404130
mov ecx, dword [ebx + 0x5c]
call fcn.00439ad0
cmp dword [ebp - 0x18], 0
je 0x42dee8
mov esi, dword [ebp - 0x18]
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x42defe
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret