Function at 0x405660
Capabilities:
Parse pe header

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x436be6
push eax
mov eax, 0x12b6c
mov dword fs:[0], esp
call fcn.00417e10
mov eax, dword [esp + 0x12b88]
test eax, eax
jbe 0x408de1
xor eax, eax
mov byte [esp + eax + 0x14], al
inc eax
cmp eax, 0x12b57
jb 0x405690
push ebx
push ebp
mov ebp, dword [esp + 0x12b84]
push esi
push edi
mov edi, dword [esp + 0x12b90]
xor esi, esi
xor ecx, ecx
xor edx, edx
mov eax, ecx
div edi
mov bl, byte [esp + ecx + 0x24]
movzx eax, bl
movzx edx, byte [edx + ebp]
add edx, esi
add eax, edx
xor edx, edx
mov esi, 0x12b57
div esi
inc ecx
cmp ecx, 0x12b57
mov esi, edx
mov al, byte [esp + esi + 0x24]
mov byte [esp + ecx + 0x23], al
mov byte [esp + esi + 0x24], bl
jb 0x4056b2
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
or ebp, 0xffffffff
jmp 0x405700
mov ebx, dword [esp + 0x12b98]
mov eax, dword [esp + 0x1c]
xor edx, edx
dec ebx
inc eax
mov ecx, 0x12b57
div ecx
mov esi, dword [esp + 0x20]
mov dword [esp + 0x12b98], ebx
push edi
push edi
mov ecx, edx
mov bl, byte [esp + ecx + 0x2c]
movzx eax, bl
add eax, esi
xor edx, edx
mov esi, 0x12b57
div esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
lea esi, [esp + edx + 0x2c]
mov dword [esp + 0x28], edx
mov dl, byte [esi]
mov byte [esp + ecx + 0x2c], dl
mov ecx, dword [esp + 0x12b9c]
mov dl, byte [eax + ecx]
mov byte [esi], bl
mov byte [esp + 0x1f], dl
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov esi, eax
cmp esi, edi
je 0x405a61
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], edi
call fcn.0042d629
cmp eax, edi
je 0x4057a4
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4057c8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 1
call fcn.0042d629
cmp eax, edi
je 0x405803
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405827
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 2
call fcn.0042d629
cmp eax, edi
je 0x405862
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405886
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 3
call fcn.0042d629
cmp eax, edi
je 0x4058c1
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4058e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 4
call fcn.0042d629
cmp eax, edi
je 0x405920
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405944
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 5
call fcn.0042d629
cmp eax, edi
je 0x40597f
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4059a3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 6
call fcn.0042d629
cmp eax, edi
je 0x4059de
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405a02
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 7
call fcn.0042d629
cmp eax, edi
je 0x405a3d
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405a61
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x1c]
movzx eax, byte [esp + eax + 0x24]
movzx ecx, bl
add eax, ecx
cdq
mov ecx, 0x12b57
idiv ecx
mov bl, byte [esp + 0x17]
xor bl, byte [esp + edx + 0x24]
cmp esi, edi
je 0x408dbd
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 8
call fcn.0042d629
cmp eax, edi
je 0x405ac2
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405ae6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 9
call fcn.0042d629
cmp eax, edi
je 0x405b21
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405b45
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0xa
call fcn.0042d629
cmp eax, edi
je 0x405b80
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405ba4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0xb
call fcn.0042d629
cmp eax, edi
je 0x405bdf
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405c03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0xc
call fcn.0042d629
cmp eax, edi
je 0x405c3e
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405c62
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0xd
call fcn.0042d629
cmp eax, edi
je 0x405c9d
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405cc1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0xe
call fcn.0042d629
cmp eax, edi
je 0x405cfc
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405d20
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0xf
call fcn.0042d629
cmp eax, edi
je 0x405d5b
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405d7f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x10
call fcn.0042d629
cmp eax, edi
je 0x405dba
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405dde
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x11
call fcn.0042d629
cmp eax, edi
je 0x405e19
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405e3d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x12
call fcn.0042d629
cmp eax, edi
je 0x405e78
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405e9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x13
call fcn.0042d629
cmp eax, edi
je 0x405ed7
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405efb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x14
call fcn.0042d629
cmp eax, edi
je 0x405f36
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405f5a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x15
call fcn.0042d629
cmp eax, edi
je 0x405f95
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405fb9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x16
call fcn.0042d629
cmp eax, edi
je 0x405ff4
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406018
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x17
call fcn.0042d629
cmp eax, edi
je 0x406053
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406077
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x18
call fcn.0042d629
cmp eax, edi
je 0x4060b2
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4060d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x19
call fcn.0042d629
cmp eax, edi
je 0x406111
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406135
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x1a
call fcn.0042d629
cmp eax, edi
je 0x406170
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406194
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x1b
call fcn.0042d629
cmp eax, edi
je 0x4061cf
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4061f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x1c
call fcn.0042d629
cmp eax, edi
je 0x40622e
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406252
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x1d
call fcn.0042d629
cmp eax, edi
je 0x40628d
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4062b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x1e
call fcn.0042d629
cmp eax, edi
je 0x4062ec
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406310
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x1f
call fcn.0042d629
cmp eax, edi
je 0x40634b
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40636f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x20
call fcn.0042d629
cmp eax, edi
je 0x4063aa
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4063ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x21
call fcn.0042d629
cmp eax, edi
je 0x406409
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40642d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x22
call fcn.0042d629
cmp eax, edi
je 0x406468
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40648c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x23
call fcn.0042d629
cmp eax, edi
je 0x4064c7
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4064eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x24
call fcn.0042d629
cmp eax, edi
je 0x406526
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40654a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x25
call fcn.0042d629
cmp eax, edi
je 0x406585
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4065a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x26
call fcn.0042d629
cmp eax, edi
je 0x4065e4
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406608
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x27
call fcn.0042d629
cmp eax, edi
je 0x406643
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406667
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x28
call fcn.0042d629
cmp eax, edi
je 0x4066a2
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4066c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x29
call fcn.0042d629
cmp eax, edi
je 0x406701
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406725
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x2a
call fcn.0042d629
cmp eax, edi
je 0x406760
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406784
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x2b
call fcn.0042d629
cmp eax, edi
je 0x4067bf
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4067e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x2c
call fcn.0042d629
cmp eax, edi
je 0x40681e
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406842
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x2d
call fcn.0042d629
cmp eax, edi
je 0x40687d
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4068a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x2e
call fcn.0042d629
cmp eax, edi
je 0x4068dc
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406900
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x2f
call fcn.0042d629
cmp eax, edi
je 0x40693b
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40695f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x30
call fcn.0042d629
cmp eax, edi
je 0x40699a
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4069be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x31
call fcn.0042d629
cmp eax, edi
je 0x4069f9
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406a1d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x32
call fcn.0042d629
cmp eax, edi
je 0x406a58
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406a7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x33
call fcn.0042d629
cmp eax, edi
je 0x406ab7
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406adb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x34
call fcn.0042d629
cmp eax, edi
je 0x406b16
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b3a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x35
call fcn.0042d629
cmp eax, edi
je 0x406b75
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x36
call fcn.0042d629
cmp eax, edi
je 0x406bd4
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406bf8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x37
call fcn.0042d629
cmp eax, edi
je 0x406c33
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406c57
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x38
call fcn.0042d629
cmp eax, edi
je 0x406c92
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406cb6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x39
call fcn.0042d629
cmp eax, edi
je 0x406cf1
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d15
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x3a
call fcn.0042d629
cmp eax, edi
je 0x406d50
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d74
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x3b
call fcn.0042d629
cmp eax, edi
je 0x406daf
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406dd3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x3c
call fcn.0042d629
cmp eax, edi
je 0x406e0e
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406e32
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x3d
call fcn.0042d629
cmp eax, edi
je 0x406e6d
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406e91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x3e
call fcn.0042d629
cmp eax, edi
je 0x406ecc
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ef0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x3f
call fcn.0042d629
cmp eax, edi
je 0x406f2b
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f4f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x40
call fcn.0042d629
cmp eax, edi
je 0x406f8a
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406fae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x41
call fcn.0042d629
cmp eax, edi
je 0x406fe9
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40700d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x42
call fcn.0042d629
cmp eax, edi
je 0x407048
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40706c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x43
call fcn.0042d629
cmp eax, edi
je 0x4070a7
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4070cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x44
call fcn.0042d629
cmp eax, edi
je 0x407106
push 0x23500d
push eax
lea ecx, [esp + 0x18]
call fcn.004019c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x12b84], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40712a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0042d634
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x23500d
mov dword [esp + 0x12b88], 0x45
call fcn.0042d629
cmp eax, edi
je 0x407165
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x12b94]
mov byte [eax + ecx], bl
inc eax
mov dword [esp + 0x18], eax
cmp dword [esp + 0x12b98], edi
jne 0x405700
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x12b6c]
xor eax, eax
mov dword fs:[0], ecx
add esp, 0x12b78
ret