Function at 0x4203a4
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x7c
cmp dword [ebp + 8], 0
je 0x42082b
nop
mov esi, 0x49c9a0
lea edi, [ebp - 0x60]
lea ebx, [ebp - 0x60]
mov ecx, 0x2d
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x49d9d0]
test al, al
jne 0x420409
mov dword [esp], 0x49d9d0
call fcn.00487670
test eax, eax
je 0x420409
mov dword [esp], ebx
mov ecx, 0x4a4520
call fcn.004433c4
push eax
mov dword [esp], 0x489a94
call fcn.00401400
mov dword [esp], 0x49d9d0
call fcn.00487740
mov ecx, 0x4a4520
call fcn.00443334
mov dword [esp + 0xc], 0x127
mov dword [esp + 8], 0xc437d
mov dword [esp + 4], 0x170f4
mov dword [esp], 0x4a4520
call fcn.00440eb8
test eax, eax
nop
mov esi, 0x49c960
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d918]
test al, al
jne 0x420488
mov dword [esp], 0x49d918
call fcn.00487670
test eax, eax
je 0x420488
mov dword [esp], ebx
mov ecx, 0x4a3d60
call fcn.00443514
push eax
mov dword [esp], 0x489aa0
call fcn.00401400
mov dword [esp], 0x49d918
call fcn.00487740
mov ecx, 0x4a3d60
mov esi, 0x49c900
mov edi, ebx
call fcn.00443484
mov dword [esp + 0xc], 0x122
mov dword [esp + 8], 0x20c60
mov dword [esp + 4], 0x2b80
mov dword [esp], 0x4a3d60
call fcn.00440eb8
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d970]
test al, al
jne 0x420503
mov dword [esp], 0x49d970
call fcn.00487670
test eax, eax
je 0x420503
mov dword [esp], ebx
mov ecx, 0x4a4120
call fcn.004435d0
push edi
mov dword [esp], 0x489aac
call fcn.00401400
mov dword [esp], 0x49d970
call fcn.00487740
mov ecx, 0x4a4120
call fcn.00443540
mov dword [esp + 0xc], 0x43b
mov dword [esp + 8], 0x2d2921
mov dword [esp + 4], 0x1933e
mov dword [esp], 0x4a4120
call fcn.00440eb8
nop
mov esi, 0x49c9a0
mov ecx, 0x2d
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x49d990]
test al, al
jne 0x42057f
mov dword [esp], 0x49d990
call fcn.00487670
test eax, eax
je 0x42057f
mov dword [esp], ebx
mov ecx, 0x4a4280
call fcn.004433c4
push esi
mov dword [esp], 0x489ab8
call fcn.00401400
mov dword [esp], 0x49d990
call fcn.00487740
mov ecx, 0x4a4280
call fcn.00443334
mov dword [esp + 0xc], 0x12a
mov dword [esp + 8], 0xc789c
mov dword [esp + 4], 0x17358
mov dword [esp], 0x4a4280
call fcn.00440eb8
test eax, eax
nop
mov esi, 0x49c960
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d998]
test al, al
jne 0x4205fe
mov dword [esp], 0x49d998
call fcn.00487670
test eax, eax
je 0x4205fe
mov dword [esp], ebx
mov ecx, 0x4a42c0
call fcn.00443514
push ecx
mov dword [esp], 0x489ac4
call fcn.00401400
mov dword [esp], 0x49d998
call fcn.00487740
mov ecx, 0x4a42c0
mov esi, 0x49c900
mov edi, ebx
call fcn.00443484
mov dword [esp + 0xc], 0x125
mov dword [esp + 8], 0x2153e
mov dword [esp + 4], 0x2bc8
mov dword [esp], 0x4a42c0
call fcn.00440eb8
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d9a0]
test al, al
jne 0x420679
mov dword [esp], 0x49d9a0
call fcn.00487670
test eax, eax
je 0x420679
mov dword [esp], ebx
mov ecx, 0x4a4320
call fcn.004435d0
push edx
mov dword [esp], 0x489ad0
call fcn.00401400
mov dword [esp], 0x49d9a0
call fcn.00487740
mov ecx, 0x4a4320
call fcn.00443540
mov dword [esp + 0xc], 0x447
mov dword [esp + 8], 0x2dec6c
mov dword [esp + 4], 0x195d8
mov dword [esp], 0x4a4320
call fcn.00440eb8
mov eax, dword [ebp + 8]
cmp word [eax], 0x5a4d
je 0x420835
nop
mov esi, 0x49c9a0
mov ecx, 0x2d
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x49d9a8]
test al, al
jne 0x420703
mov dword [esp], 0x49d9a8
call fcn.00487670
test eax, eax
je 0x420703
mov dword [esp], ebx
mov ecx, 0x4a4380
call fcn.004433c4
push eax
mov dword [esp], 0x489adc
call fcn.00401400
mov dword [esp], 0x49d9a8
call fcn.00487740
mov ecx, 0x4a4380
call fcn.00443334
mov dword [esp + 0xc], 0x12c
mov dword [esp + 8], 0xca326
mov dword [esp + 4], 0x175bc
mov dword [esp], 0x4a4380
call fcn.00440eb8
test eax, eax
nop
mov esi, 0x49c960
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d9b0]
test al, al
jne 0x420782
mov dword [esp], 0x49d9b0
call fcn.00487670
test eax, eax
je 0x420782
mov dword [esp], ebx
mov ecx, 0x4a43c0
call fcn.00443514
push eax
mov dword [esp], 0x489aec
call fcn.00401400
mov dword [esp], 0x49d9b0
call fcn.00487740
mov ecx, 0x4a43c0
mov esi, 0x49c900
mov edi, ebx
call fcn.00443484
mov dword [esp + 0xc], 0x127
mov dword [esp + 8], 0x21c57
mov dword [esp + 4], 0x2c10
mov dword [esp], 0x4a43c0
call fcn.00440eb8
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d9b8]
test al, al
jne 0x4207fd
mov dword [esp], 0x49d9b8
call fcn.00487670
test eax, eax
je 0x4207fd
mov dword [esp], ebx
mov ecx, 0x4a4420
call fcn.004435d0
push eax
mov dword [esp], 0x489af8
call fcn.00401400
mov dword [esp], 0x49d9b8
call fcn.00487740
mov ecx, 0x4a4420
call fcn.00443540
mov dword [esp + 0xc], 0x44e
mov dword [esp + 8], 0x2e88be
mov dword [esp + 4], 0x19872
mov dword [esp], 0x4a4420
call fcn.00440eb8
xor eax, eax
mov dword [ebp - 0x6c], eax
jmp 0x420fb1
nop
mov esi, 0x49c9a0
mov ecx, 0x2d
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x49d9c0]
test al, al
jne 0x420883
mov dword [esp], 0x49d9c0
call fcn.00487670
test eax, eax
je 0x420883
mov dword [esp], ebx
mov ecx, 0x4a4480
call fcn.004433c4
push eax
mov dword [esp], 0x489b04
call fcn.00401400
mov dword [esp], 0x49d9c0
call fcn.00487740
mov ecx, 0x4a4480
call fcn.00443334
mov dword [esp + 0xc], 0x130
mov dword [esp + 8], 0xce41e
mov dword [esp + 4], 0x17820
mov dword [esp], 0x4a4480
call fcn.00440eb8
test eax, eax
nop
mov esi, 0x49c960
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d9c8]
test al, al
jne 0x420902
mov dword [esp], 0x49d9c8
call fcn.00487670
test eax, eax
je 0x420902
mov dword [esp], ebx
mov ecx, 0x4a44c0
call fcn.00443514
push edi
mov dword [esp], 0x489b10
call fcn.00401400
mov dword [esp], 0x49d9c8
call fcn.00487740
mov ecx, 0x4a44c0
mov esi, 0x49c900
mov edi, ebx
call fcn.00443484
mov dword [esp + 0xc], 0x12b
mov dword [esp + 8], 0x2272f
mov dword [esp + 4], 0x2c58
mov dword [esp], 0x4a44c0
call fcn.00440eb8
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d920]
test al, al
jne 0x42097d
mov dword [esp], 0x49d920
call fcn.00487670
test eax, eax
je 0x42097d
mov dword [esp], ebx
mov ecx, 0x4a3dc0
call fcn.004435d0
push esi
mov dword [esp], 0x489b1c
call fcn.00401400
mov dword [esp], 0x49d920
call fcn.00487740
mov ecx, 0x4a3dc0
call fcn.00443540
mov dword [esp + 0xc], 0x45d
mov dword [esp + 8], 0x2f77a6
mov dword [esp + 4], 0x19b0c
mov dword [esp], 0x4a3dc0
call fcn.00440eb8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x6c], eax
nop
mov esi, 0x49c9a0
mov ecx, 0x2d
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x49d928]
test al, al
jne 0x420a02
mov dword [esp], 0x49d928
call fcn.00487670
test eax, eax
je 0x420a02
mov dword [esp], ebx
mov ecx, 0x4a3e20
call fcn.004433c4
push ecx
mov dword [esp], 0x489b28
call fcn.00401400
mov dword [esp], 0x49d928
call fcn.00487740
mov ecx, 0x4a3e20
call fcn.00443334
mov dword [esp + 0xc], 0x132
mov dword [esp + 8], 0xd0f5c
mov dword [esp + 4], 0x17a84
mov dword [esp], 0x4a3e20
call fcn.00440eb8
test eax, eax
nop
mov esi, 0x49c960
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d930]
test al, al
jne 0x420a81
mov dword [esp], 0x49d930
call fcn.00487670
test eax, eax
je 0x420a81
mov dword [esp], ebx
mov ecx, 0x4a3e60
call fcn.00443514
push edx
mov dword [esp], 0x489b34
call fcn.00401400
mov dword [esp], 0x49d930
call fcn.00487740
mov ecx, 0x4a3e60
mov esi, 0x49c900
mov edi, ebx
call fcn.00443484
mov dword [esp + 0xc], 0x12d
mov dword [esp + 8], 0x22e66
mov dword [esp + 4], 0x2ca0
mov dword [esp], 0x4a3e60
call fcn.00440eb8
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d938]
test al, al
jne 0x420afc
mov dword [esp], 0x49d938
call fcn.00487670
test eax, eax
je 0x420afc
mov dword [esp], ebx
mov ecx, 0x4a3ec0
call fcn.004435d0
push eax
mov dword [esp], 0x489b40
call fcn.00401400
mov dword [esp], 0x49d938
call fcn.00487740
mov ecx, 0x4a3ec0
call fcn.00443540
mov dword [esp + 0xc], 0x465
mov dword [esp + 8], 0x30168c
mov dword [esp + 4], 0x19da6
mov dword [esp], 0x4a3ec0
call fcn.00440eb8
cmp dword [ebp - 0x6c], 0x400
jg 0x42082b
nop
mov esi, 0x49c9a0
mov ecx, 0x2d
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x49d940]
test al, al
jne 0x420b85
mov dword [esp], 0x49d940
call fcn.00487670
test eax, eax
je 0x420b85
mov dword [esp], ebx
mov ecx, 0x4a3f20
call fcn.004433c4
push eax
mov dword [esp], 0x489b4c
call fcn.00401400
mov dword [esp], 0x49d940
call fcn.00487740
mov ecx, 0x4a3f20
call fcn.00443334
mov dword [esp + 0xc], 0x134
mov dword [esp + 8], 0xd3ae2
mov dword [esp + 4], 0x17ce8
mov dword [esp], 0x4a3f20
call fcn.00440eb8
test eax, eax
nop
mov esi, 0x49c960
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d948]
test al, al
jne 0x420c04
mov dword [esp], 0x49d948
call fcn.00487670
test eax, eax
je 0x420c04
mov dword [esp], ebx
mov ecx, 0x4a3f60
call fcn.00443514
push eax
mov dword [esp], 0x489b58
call fcn.00401400
mov dword [esp], 0x49d948
call fcn.00487740
mov ecx, 0x4a3f60
mov esi, 0x49c900
mov edi, ebx
call fcn.00443484
mov dword [esp + 0xc], 0x12f
mov dword [esp + 8], 0x235a9
mov dword [esp + 4], 0x2ce8
mov dword [esp], 0x4a3f60
call fcn.00440eb8
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d950]
test al, al
jne 0x420c7f
mov dword [esp], 0x49d950
call fcn.00487670
test eax, eax
je 0x420c7f
mov dword [esp], ebx
mov ecx, 0x4a3fc0
call fcn.004435d0
push eax
mov dword [esp], 0x489b68
call fcn.00401400
mov dword [esp], 0x49d950
call fcn.00487740
mov ecx, 0x4a3fc0
call fcn.00443540
mov dword [esp + 0xc], 0x46c
mov dword [esp + 8], 0x30b67a
mov dword [esp + 4], 0x1a040
mov dword [esp], 0x4a3fc0
call fcn.00440eb8
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp + 8]
mov dword [ebp - 0x6c], eax
nop
mov esi, 0x49c9a0
mov ecx, 0x2d
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x49d958]
test al, al
jne 0x420d04
mov dword [esp], 0x49d958
call fcn.00487670
test eax, eax
je 0x420d04
mov dword [esp], ebx
mov ecx, 0x4a4020
call fcn.004433c4
push eax
mov dword [esp], 0x489b74
call fcn.00401400
mov dword [esp], 0x49d958
call fcn.00487740
mov ecx, 0x4a4020
call fcn.00443334
mov dword [esp + 0xc], 0x136
mov dword [esp + 8], 0xd66b0
mov dword [esp + 4], 0x17f4c
mov dword [esp], 0x4a4020
call fcn.00440eb8
test eax, eax
nop
mov esi, 0x49c960
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d960]
test al, al
jne 0x420d83
mov dword [esp], 0x49d960
call fcn.00487670
test eax, eax
je 0x420d83
mov dword [esp], ebx
mov ecx, 0x4a4060
call fcn.00443514
push edi
mov dword [esp], 0x489b80
call fcn.00401400
mov dword [esp], 0x49d960
call fcn.00487740
mov ecx, 0x4a4060
mov esi, 0x49c900
mov edi, ebx
call fcn.00443484
mov dword [esp + 0xc], 0x131
mov dword [esp + 8], 0x23cf8
mov dword [esp + 4], 0x2d30
mov dword [esp], 0x4a4060
call fcn.00440eb8
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d968]
test al, al
jne 0x420dfe
mov dword [esp], 0x49d968
call fcn.00487670
test eax, eax
je 0x420dfe
mov dword [esp], ebx
mov ecx, 0x4a40c0
call fcn.004435d0
push esi
mov dword [esp], 0x489b8c
call fcn.00401400
mov dword [esp], 0x49d968
call fcn.00487740
mov ecx, 0x4a40c0
call fcn.00443540
mov dword [esp + 0xc], 0x474
mov dword [esp + 8], 0x315770
mov dword [esp + 4], 0x1a2da
mov dword [esp], 0x4a40c0
call fcn.00440eb8
mov eax, dword [ebp - 0x6c]
cmp dword [eax], 0x4550
jne 0x42082b
nop
mov esi, 0x49c9a0
mov ecx, 0x2d
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x49d978]
test al, al
jne 0x420e89
mov dword [esp], 0x49d978
call fcn.00487670
test eax, eax
je 0x420e89
mov dword [esp], ebx
mov ecx, 0x4a4180
call fcn.004433c4
push ecx
mov dword [esp], 0x489b98
call fcn.00401400
mov dword [esp], 0x49d978
call fcn.00487740
mov ecx, 0x4a4180
call fcn.00443334
mov dword [esp + 0xc], 0x138
mov dword [esp + 8], 0xd92c6
mov dword [esp + 4], 0x181b0
mov dword [esp], 0x4a4180
call fcn.00440eb8
test eax, eax
nop
mov esi, 0x49c960
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d980]
test al, al
jne 0x420f08
mov dword [esp], 0x49d980
call fcn.00487670
test eax, eax
je 0x420f08
mov dword [esp], ebx
mov ecx, 0x4a41c0
call fcn.00443514
push edx
mov dword [esp], 0x489ba4
call fcn.00401400
mov dword [esp], 0x49d980
call fcn.00487740
mov ecx, 0x4a41c0
mov esi, 0x49c900
mov edi, ebx
call fcn.00443484
mov dword [esp + 0xc], 0x133
mov dword [esp + 8], 0x24453
mov dword [esp + 4], 0x2d78
mov dword [esp], 0x4a41c0
call fcn.00440eb8
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x49d988]
test al, al
jne 0x420f83
mov dword [esp], 0x49d988
call fcn.00487670
test eax, eax
je 0x420f83
mov dword [esp], ebx
mov ecx, 0x4a4220
call fcn.004435d0
push eax
mov dword [esp], 0x489bb0
call fcn.00401400
mov dword [esp], 0x49d988
call fcn.00487740
mov ecx, 0x4a4220
call fcn.00443540
mov dword [esp + 0xc], 0x47b
mov dword [esp + 8], 0x31f96e
mov dword [esp + 4], 0x1a574
mov dword [esp], 0x4a4220
call fcn.00440eb8
mov eax, dword [ebp - 0x6c]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret