Function at 0x410cd0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x9c
mov ecx, dword [0x48111c]
push ebx
push ebp
push esi
push edi
xor ebp, ebp
xor ebx, ebx
xor edi, edi
xor esi, esi
cmp ecx, ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x68], esi
mov dword [esp + 0x58], ebp
jbe 0x410d29
mov eax, dword [0x481120]
mov edx, ecx
add eax, 0x20
cmp dword [eax - 0xc], ebp
je 0x410d0c
inc ebx
cmp dword [eax], ebp
je 0x410d11
inc edi
cmp dword [eax + 0xc], ebp
je 0x410d17
inc esi
add eax, 0x44
dec edx
jne 0x410d06
mov dword [esp + 0x68], esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], ebx
cmp ecx, ebp
mov word [esp + 0x4c], bp
mov word [esp + 0x52], 0x5643
mov dword [esp + 0x20], ebp
jbe 0x410ffe
mov edx, dword [0x481120]
mov ebx, dword [esp + 0xb0]
lea ecx, [esp + 0x50]
push ebx
mov eax, dword [edx + ebp]
push ecx
push eax
call fcn.004108a0
mov edx, dword [0x481120]
mov esi, eax
or ecx, 0xffffffff
xor eax, eax
mov edi, dword [edx + ebp + 4]
mov dword [esp + 0x28], edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x48], cl
mov ecx, dword [esp + 0x48]
and ecx, 0xff
mov dword [esp + 0x24], ecx
mov edx, dword [edx + ebp]
mov eax, dword [edx + 0x64]
mov ecx, dword [eax + 0x30]
shr ecx, 4
not cl
test cl, 1
je 0x410df7
mov edx, dword [ebx + 0x1c8]
lea eax, [esp + 0x70]
push edx
push eax
call fcn.0040f860
lea ecx, [esp + 0x70]
push ecx
call fcn.0040f890
test al, al
je 0x410ded
mov eax, dword [esp + 0x7c]
cmp dword [eax], 0
je 0x410ddf
mov edi, dword [esp + 0x1c]
mov edx, dword [0x481120]
inc edi
mov dword [esp + 0x1c], edi
mov ecx, dword [edx + ebp]
cmp eax, dword [ecx + 0x64]
je 0x410ded
lea edx, [esp + 0x70]
push edx
call fcn.0040f890
test al, al
jne 0x410dbf
lea eax, [esp + 0x70]
push eax
call fcn.0040f8d0
mov al, byte [0x481194]
mov cx, word [esp + 0x1c]
mov edi, dword [0x481184]
mov word [esp + 0x4e], cx
test al, al
je 0x410e15
call fcn.0040cbc0
mov edx, dword [0x469524]
mov eax, dword [edx + edi*4]
test byte [eax + 4], 8
je 0x410e29
mov eax, dword [eax + 0x1c]
jmp 0x410e2f
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0xc]
mov ecx, dword [0x481120]
mov dword [ecx + ebp + 0x38], eax
mov al, byte [0x481194]
mov edi, dword [0x481184]
test al, al
je 0x410e4d
call fcn.0040cbc0
mov edx, dword [0x469524]
push 8
mov eax, dword [edx + edi*4]
test byte [eax + 4], 8
je 0x410e6b
lea ecx, [esp + 0x50]
push ecx
push eax
call fcn.0040c870
jmp 0x410e76
lea edx, [esp + 0x50]
push edx
push eax
call fcn.0040bee0
xor ebx, ebx
cmp word [esp + 0x50], bx
jbe 0x410f2c
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ecx + 0x28]
mov ax, word [edx + 0x2c]
mov word [esp + 0x82], 0
mov word [esp + 0x80], ax
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax]
mov edx, dword [ecx + 0x28]
sub eax, dword [edx + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 8]
mov edi, dword [ecx]
mov ecx, dword [eax]
mov al, byte [0x481194]
sub edx, edi
mov edi, dword [0x481184]
add edx, ecx
test al, al
mov dword [esp + 0x88], edx
je 0x410ee3
call fcn.0040cbc0
mov eax, dword [0x469524]
push 0xc
mov eax, dword [eax + edi*4]
test byte [eax + 4], 8
je 0x410f03
lea ecx, [esp + 0x84]
push ecx
push eax
call fcn.0040c870
jmp 0x410f11
lea edx, [esp + 0x84]
push edx
push eax
call fcn.0040bee0
mov edi, dword [esi + 0xc]
push esi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
inc ebx
cmp bx, word [esp + 0x50]
mov esi, edi
jb 0x410e83
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x410f40
call fcn.0040cbc0
mov eax, dword [0x469524]
push 1
mov eax, dword [eax + esi*4]
test byte [eax + 4], 8
je 0x410f5d
lea ecx, [esp + 0x4c]
push ecx
push eax
call fcn.0040c870
jmp 0x410f68
lea edx, [esp + 0x4c]
push edx
push eax
call fcn.0040bee0
mov al, byte [0x481194]
mov esi, dword [esp + 0x24]
mov edi, dword [0x481184]
test al, al
je 0x410f80
call fcn.0040cbc0
mov eax, dword [0x469524]
push esi
mov eax, dword [eax + edi*4]
test byte [eax + 4], 8
je 0x410f9c
mov ecx, dword [esp + 0x2c]
push ecx
push eax
call fcn.0040c870
jmp 0x410fa7
mov edx, dword [esp + 0x2c]
push edx
push eax
call fcn.0040bee0
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x410fbb
call fcn.0040cbc0
mov eax, dword [0x469524]
mov eax, dword [eax + esi*4]
test byte [eax + 4], 8
je 0x410fce
mov eax, dword [eax + 0x1c]
jmp 0x410fd4
mov ecx, dword [eax + 0x20]
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x481120]
add ebp, 0x44
mov edi, dword [ecx + ebp - 0xc]
sub eax, edi
mov dword [ecx + ebp - 8], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [0x48111c]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jb 0x410d41
mov ebx, dword [esp + 0xb0]
xor edi, edi
push ebx
mov dword [esp + 0x2c], edi
call fcn.004109f0
cmp dword [0x48111c], edi
jbe 0x4111fd
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov ecx, dword [0x481120]
cmp dword [ecx + ebp + 8], 0xffffffff
jne 0x41103d
mov dword [ecx + ebp + 8], edi
jmp 0x4111e2
mov edx, dword [esp + 0x28]
mov al, byte [0x481194]
mov esi, dword [0x481184]
inc edx
test al, al
mov dword [esp + 0x28], edx
je 0x411060
call fcn.0040cbc0
mov ecx, dword [0x481120]
mov edx, dword [0x469524]
mov eax, dword [edx + esi*4]
test byte [eax + 4], 8
je 0x411074
mov eax, dword [eax + 0x1c]
jmp 0x41107a
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0xc]
mov dword [ecx + ebp + 8], eax
mov al, byte [0x481194]
mov esi, dword [0x481184]
mov dword [esp + 0x6c], 2
test al, al
je 0x41109a
call fcn.0040cbc0
mov ecx, dword [0x469524]
push 4
mov eax, dword [ecx + esi*4]
test byte [eax + 4], 8
je 0x4110b8
lea edx, [esp + 0x70]
push edx
push eax
call fcn.0040c870
jmp 0x4110c3
lea ecx, [esp + 0x70]
push ecx
push eax
call fcn.0040bee0
mov edx, dword [0x481120]
lea eax, [edx + ebp]
push eax
push ebx
call fcn.00410c50
mov edx, dword [0x481120]
mov ecx, dword [edx + ebp]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x30]
shr ecx, 4
not cl
test cl, 1
je 0x4111a2
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x48111c]
cmp eax, ecx
mov dword [esp + 0x30], eax
jae 0x4111a2
lea edi, [ebp + 0x44]
mov dword [esp + 0x20], edi
mov eax, dword [edx + ebp]
mov ecx, dword [edi + edx]
add edi, edx
mov eax, dword [eax + 0x64]
mov esi, dword [ecx + 0x64]
cmp eax, esi
jne 0x411179
mov esi, dword [edi + 4]
mov eax, dword [edx + ebp + 4]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x41114a
test cl, cl
je 0x411146
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x41114a
add eax, 2
add esi, 2
test cl, cl
jne 0x411126
xor eax, eax
jmp 0x41114f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x411179
mov ecx, dword [esp + 0xb0]
push edi
push ecx
call fcn.00410c50
mov edx, dword [0x481120]
mov eax, dword [esp + 0x20]
mov dword [eax + edx + 8], 0xffffffff
mov edx, dword [0x481120]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov ecx, dword [0x48111c]
inc eax
add edi, 0x44
cmp eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], edi
jb 0x41110d
mov ebx, dword [esp + 0xb0]
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x4111bc
call fcn.0040cbc0
mov edx, dword [0x481120]
mov ecx, dword [0x469524]
mov eax, dword [ecx + esi*4]
test byte [eax + 4], 8
je 0x4111d0
mov eax, dword [eax + 0x1c]
jmp 0x4111d6
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0xc]
mov ecx, dword [edx + ebp + 8]
sub eax, ecx
xor edi, edi
mov dword [edx + ebp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x48111c]
inc eax
add ebp, 0x44
mov dword [esp + 0x2c], eax
dec eax
cmp eax, ecx
jb 0x411027
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x411211
call fcn.0040cbc0
mov ecx, dword [0x469524]
mov eax, dword [ecx + esi*4]
test byte [eax + 4], 8
je 0x411229
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x30], edx
jmp 0x411233
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x30], ecx
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
mov dword [esp + 0x24], edi
je 0x41124b
call fcn.0040cbc0
mov edx, dword [0x469524]
push 1
mov eax, dword [edx + esi*4]
test byte [eax + 4], 8
je 0x411269
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.0040c870
jmp 0x411274
lea edx, [esp + 0x28]
push edx
push eax
call fcn.0040bee0
mov eax, dword [ebx + 0x1c8]
lea ecx, [esp + 0x70]
push eax
push ecx
call fcn.0040f860
lea edx, [esp + 0x70]
push edx
call fcn.0040f890
test al, al
je 0x411343
mov eax, dword [esp + 0x7c]
mov ebp, eax
mov edi, dword [eax]
test edi, edi
je 0x41132f
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov al, byte [0x481194]
mov esi, dword [0x481184]
not ecx
dec ecx
and ecx, 0xff
test al, al
mov dword [esp + 0x24], ecx
je 0x4112cf
call fcn.0040cbc0
mov eax, dword [0x469524]
push 1
mov eax, dword [eax + esi*4]
test byte [eax + 4], 8
je 0x4112ec
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.0040c870
jmp 0x4112f7
lea edx, [esp + 0x28]
push edx
push eax
call fcn.0040bee0
mov al, byte [0x481194]
mov edi, dword [ebp]
mov esi, dword [esp + 0x24]
mov ebp, dword [0x481184]
test al, al
je 0x411312
call fcn.0040cbc0
mov eax, dword [0x469524]
push esi
push edi
mov eax, dword [eax + ebp*4]
push eax
test byte [eax + 4], 8
je 0x41132a
call fcn.0040c870
jmp 0x41132f
call fcn.0040bee0
lea ecx, [esp + 0x70]
push ecx
call fcn.0040f890
test al, al
jne 0x411297
xor edi, edi
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x411357
call fcn.0040cbc0
mov edx, dword [0x469524]
mov eax, dword [edx + esi*4]
test byte [eax + 4], 8
je 0x41136f
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x2c], eax
jmp 0x411379
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x2c], edx
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x41138d
call fcn.0040cbc0
mov eax, dword [0x469524]
mov eax, dword [eax + esi*4]
test byte [eax + 4], 8
je 0x4113a4
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x64], ecx
jmp 0x4113ae
mov edx, dword [eax + 0x20]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x64], eax
mov cx, word [ebx + 0x32]
mov al, byte [0x481194]
mov esi, dword [0x481184]
inc cx
test al, al
mov dword [esp + 0x1c], ecx
je 0x4113cc
call fcn.0040cbc0
mov edx, dword [0x469524]
push 2
mov eax, dword [edx + esi*4]
test byte [eax + 4], 8
je 0x4113ea
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.0040c870
jmp 0x4113f5
lea edx, [esp + 0x20]
push edx
push eax
call fcn.0040bee0
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x411409
call fcn.0040cbc0
mov eax, dword [0x469524]
push 2
mov eax, dword [eax + esi*4]
test byte [eax + 4], 8
je 0x411426
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.0040c870
jmp 0x411431
lea edx, [esp + 0x20]
push edx
push eax
call fcn.0040bee0
mov eax, 1
mov word [esp + 0x36], di
cmp word [ebx + 0x32], ax
mov word [esp + 0x38], di
mov dword [esp + 0x1c], eax
mov ebp, 0xffff
jb 0x411566
mov esi, dword [esp + 0x54]
mov ebx, 0x40000000
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0x9c]
add eax, 0x1c0
push eax
push ecx
call fcn.0040f950
lea edx, [esp + 0x9c]
push edx
call fcn.0040f890
test al, al
je 0x4114af
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x1c]
mov esi, eax
and ecx, ebp
movsx eax, word [eax + 0x2c]
cmp eax, ecx
je 0x4114af
lea edx, [esp + 0x9c]
push edx
call fcn.0040f890
test al, al
jne 0x411487
lea eax, [esp + 0x9c]
push eax
call fcn.0040f8d0
mov word [esp + 0x34], 0x108
mov eax, dword [esi + 0x1c]
test ebx, eax
je 0x4114d1
mov word [esp + 0x34], 0x109
test dword [esi + 0x1c], 0x80000000
je 0x4114df
or byte [esp + 0x34], 2
test dword [esi + 0x1c], 0x20000000
je 0x4114ed
or byte [esp + 0x34], 4
mov cx, word [esp + 0x1c]
mov al, byte [0x481194]
mov edi, dword [0x481184]
mov word [esp + 0x3a], cx
mov word [esp + 0x3c], bp
mov word [esp + 0x3e], bp
mov dword [esp + 0x40], 0
mov edx, dword [esi + 0x10]
test al, al
mov dword [esp + 0x44], edx
je 0x411524
call fcn.0040cbc0
mov eax, dword [0x469524]
push 0x14
mov eax, dword [eax + edi*4]
test byte [eax + 4], 8
je 0x411541
lea ecx, [esp + 0x38]
push ecx
push eax
call fcn.0040c870
jmp 0x41154c
lea edx, [esp + 0x38]
push edx
push eax
call fcn.0040bee0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xb0]
inc eax
cmp ax, word [ecx + 0x32]
mov dword [esp + 0x1c], eax
jbe 0x41145c
mov al, byte [0x481194]
mov esi, dword [0x481184]
xor edi, edi
mov word [esp + 0x34], 0x208
test al, al
mov word [esp + 0x3a], di
mov word [esp + 0x3c], bp
mov word [esp + 0x3e], bp
mov dword [esp + 0x44], 0xffffffff
je 0x41159a
call fcn.0040cbc0
mov edx, dword [0x469524]
push 0x14
mov eax, dword [edx + esi*4]
test byte [eax + 4], 8
je 0x4115b8
lea ecx, [esp + 0x38]
push ecx
push eax
call fcn.0040c870
jmp 0x4115c3
lea edx, [esp + 0x38]
push edx
push eax
call fcn.0040bee0
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x4115d7
call fcn.0040cbc0
mov eax, dword [0x469524]
mov eax, dword [eax + esi*4]
test byte [eax + 4], 8
je 0x4115ee
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x54], ecx
jmp 0x4115f8
mov edx, dword [eax + 0x20]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [0x48111c]
mov dword [esp + 0x20], edi
cmp eax, edi
jbe 0x4116bc
xor ebx, ebx
mov ecx, dword [0x481120]
mov eax, dword [ebx + ecx]
mov ecx, dword [eax + 0x70]
test ecx, ecx
jne 0x411624
mov dword [eax + 0x7c], 0
jmp 0x4116a2
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x411638
call fcn.0040cbc0
mov edx, dword [0x469524]
mov eax, dword [edx + esi*4]
test byte [eax + 4], 8
je 0x41164c
mov eax, dword [eax + 0x1c]
jmp 0x411652
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0xc]
mov ecx, dword [0x481120]
mov edx, dword [ebx + ecx]
mov dword [edx + 0x7c], eax
mov eax, dword [0x481120]
mov ebp, dword [0x481184]
mov eax, dword [ebx + eax]
mov esi, dword [eax + 0x78]
mov edi, dword [eax + 0x74]
mov al, byte [0x481194]
test al, al
je 0x411680
call fcn.0040cbc0
mov ecx, dword [0x469524]
push esi
push edi
mov eax, dword [ecx + ebp*4]
push eax
test byte [eax + 4], 8
je 0x411699
call fcn.0040c870
jmp 0x41169e
call fcn.0040bee0
inc dword [esp + 0x58]
mov eax, dword [esp + 0x20]
mov ecx, dword [0x48111c]
inc eax
add ebx, 0x44
cmp eax, ecx
mov dword [esp + 0x20], eax
jb 0x41160b
mov al, byte [0x481194]
mov esi, dword [0x481184]
test al, al
je 0x4116d0
call fcn.0040cbc0
mov edx, dword [0x469524]
mov eax, dword [edx + esi*4]
test byte [eax + 4], 8
je 0x4116e4
mov eax, dword [eax + 0x1c]
jmp 0x4116ea
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [0x48111c]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x68]
add edx, ecx
mov ecx, dword [esp + 0x5c]
add edx, edi
mov dword [0x48112c], eax
mov eax, dword [esp + 0x60]
add edx, esi
mov esi, dword [0x481184]
add edx, ecx
xor ebp, ebp
mov word [esp + 0x8c], 0x10
lea ecx, [edx + eax + 2]
mov al, byte [0x481194]
test al, al
mov word [esp + 0x8e], 0xc
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebp
je 0x411754
call fcn.0040cbc0
mov edx, dword [0x469524]
push 0x10
mov esi, dword [edx + esi*4]
test byte [esi + 4], 8
je 0x411775
lea eax, [esp + 0x90]
push eax
push esi
call fcn.0040c870
jmp 0x411783
lea ecx, [esp + 0x90]
push ecx
push esi
call fcn.0040bee0
mov ecx, dword [0x48111c]
xor edi, edi
cmp ecx, ebp
mov word [esp + 0x10], 0x120
jbe 0x411807
xor esi, esi
mov eax, dword [0x481120]
lea edx, [edi + 1]
mov word [esp + 0x12], dx
mov edx, dword [0x481128]
mov ecx, dword [esi + eax + 0x38]
mov ebx, dword [0x481184]
sub ecx, edx
mov dword [esp + 0x14], ecx
mov edx, dword [esi + eax + 0x3c]
mov al, byte [0x481194]
mov dword [esp + 0x18], edx
test al, al
je 0x4117d1
call fcn.0040cbc0
mov eax, dword [0x469524]
push 0xc
mov eax, dword [eax + ebx*4]
test byte [eax + 4], 8
je 0x4117ee
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.0040c870
jmp 0x4117f9
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0040bee0
mov ecx, dword [0x48111c]
inc edi
add esi, 0x44
cmp edi, ecx
jb 0x411798
xor ebx, ebx
cmp ecx, ebp
mov word [esp + 0x10], 0x123
jbe 0x411891
mov eax, dword [0x481120]
xor esi, esi
cmp dword [esi + eax + 8], ebp
je 0x411881
lea ecx, [ebx + 1]
mov edi, dword [0x481184]
mov word [esp + 0x12], cx
mov edx, dword [esi + eax + 8]
sub edx, dword [0x481128]
mov dword [esp + 0x14], edx
mov eax, dword [esi + eax + 0xc]
mov dword [esp + 0x18], eax
mov al, byte [0x481194]
test al, al
je 0x411853
call fcn.0040cbc0
mov ecx, dword [0x469524]
push 0xc
mov eax, dword [ecx + edi*4]
test byte [eax + 4], 8
je 0x411871
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0040c870
jmp 0x41187c
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.0040bee0
mov eax, dword [0x481120]
mov ecx, dword [0x48111c]
inc ebx
add esi, 0x44
cmp ebx, ecx
jb 0x41181b
jmp 0x411896
mov eax, dword [0x481120]
xor ebx, ebx
cmp ecx, ebp
mov word [esp + 0x10], 0x124
jbe 0x411918
xor esi, esi
cmp dword [esi + eax + 0x14], ebp
je 0x41190a
lea edx, [ebx + 1]
mov edi, dword [0x481184]
mov word [esp + 0x12], dx
mov ecx, dword [esi + eax + 0x14]
sub ecx, dword [0x481128]
mov dword [esp + 0x14], ecx
mov edx, dword [esi + eax + 0x18]
mov al, byte [0x481194]
mov dword [esp + 0x18], edx
test al, al
je 0x4118dd
call fcn.0040cbc0
mov eax, dword [0x469524]
push 0xc
mov eax, dword [eax + edi*4]
test byte [eax + 4], 8
je 0x4118fa
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.0040c870
jmp 0x411905
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0040bee0
mov eax, dword [0x481120]
mov ecx, dword [0x48111c]
inc ebx
add esi, 0x44
cmp ebx, ecx
jb 0x4118a5
xor ebx, ebx
cmp ecx, ebp
mov word [esp + 0x10], 0x127
jbe 0x4119a3
xor esi, esi
mov ecx, dword [esi + eax]
cmp dword [ecx + 0x7c], ebp
je 0x411995
lea edx, [ebx + 1]
mov edi, dword [0x481184]
mov word [esp + 0x12], dx
mov ecx, dword [esi + eax]
mov edx, dword [ecx + 0x7c]
mov ecx, dword [0x481128]
sub edx, ecx
mov dword [esp + 0x14], edx
mov eax, dword [esi + eax]
mov ecx, dword [eax + 0x78]
mov al, byte [0x481194]
test al, al
mov dword [esp + 0x18], ecx
je 0x411967
call fcn.0040cbc0
mov edx, dword [0x469524]
push 0xc
mov eax, dword [edx + edi*4]
test byte [eax + 4], 8
je 0x411985
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.0040c870
jmp 0x411990
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0040bee0
mov eax, dword [0x481120]
mov ecx, dword [0x48111c]
inc ebx
add esi, 0x44
cmp ebx, ecx
jb 0x411927
xor ebx, ebx
cmp ecx, ebp
jbe 0x411a3e
xor esi, esi
cmp dword [esi + eax + 0x20], ebp
je 0x411a2c
mov ecx, dword [esi + eax + 0x28]
lea edx, [ebx + 1]
neg ecx
sbb ecx, ecx
mov word [esp + 0x12], dx
mov edx, dword [0x481128]
and ecx, 0xe
add ecx, 0x121
mov edi, dword [0x481184]
mov word [esp + 0x10], cx
mov ecx, dword [esi + eax + 0x20]
sub ecx, edx
mov dword [esp + 0x14], ecx
mov edx, dword [esi + eax + 0x24]
mov al, byte [0x481194]
mov dword [esp + 0x18], edx
test al, al
je 0x4119ff
call fcn.0040cbc0
mov eax, dword [0x469524]
push 0xc
mov eax, dword [eax + edi*4]
test byte [eax + 4], 8
je 0x411a1c
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.0040c870
jmp 0x411a27
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0040bee0
mov eax, dword [0x481120]
mov ecx, dword [0x48111c]
inc ebx
add esi, 0x44
cmp ebx, ecx
jb 0x4119af
mov ecx, dword [esp + 0x30]
mov esi, dword [0x481128]
mov eax, ecx
mov edi, 0xffff
sub eax, esi
mov esi, dword [0x481184]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
sub eax, ecx
mov word [esp + 0x10], 0x128
mov dword [esp + 0x18], eax
mov al, byte [0x481194]
test al, al
mov word [esp + 0x12], di
je 0x411a7f
call fcn.0040cbc0
mov ecx, dword [0x469524]
push 0xc
mov eax, dword [ecx + esi*4]
test byte [eax + 4], 8
je 0x411a9d
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0040c870
jmp 0x411aa8
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.0040bee0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x54]
mov esi, dword [0x481128]
sub eax, ecx
mov edx, ecx
mov dword [esp + 0x18], eax
mov al, byte [0x481194]
sub edx, esi
mov esi, dword [0x481184]
mov word [esp + 0x10], 0x12d
test al, al
mov word [esp + 0x12], di
mov dword [esp + 0x14], edx
je 0x411ae4
call fcn.0040cbc0
mov eax, dword [0x469524]
pop edi
mov eax, dword [eax + esi*4]
pop esi
pop ebp
pop ebx
mov cl, byte [eax + 4]
push 0xc
test cl, 8
je 0x411b0e
lea ecx, [esp + 4]
push ecx
push eax
call fcn.0040c870
add esp, 0x9c
ret 4
lea edx, [esp + 4]
push edx
push eax
call fcn.0040bee0
add esp, 0x9c
ret 4